Как выполнять команды Redis удаленно - PullRequest
0 голосов
/ 14 октября 2019

У меня есть ресурс redis в IBM Cloud (Базы данных IBM Cloud для Redis). Я хочу выполнить команды redis, такие как 'config set notify-keyspace-events $ KExe', в удаленном сеансе.

Я использую приведенную ниже команду для подключения к соединению с экземпляром redis через redli.

ibmcloud login --apikey <api key> -a https://cloud.ibm.com -g <resource group name> -r <region>
ibmcloud cdb deployment-connections <ibm redis instance name> -s --user admin --password <password>

Я могу подключиться к экземпляру Redis, и он выдает сообщение «Подключено к 4.0.10». Затем я могу выполнить команды redis и набрать «exit» для выхода из сеанса redis. Как я могу автоматизировать эту часть выполнения команд redis, получить те, которые выполняются удаленно, и затем выйти из сеанса redis?

Ответы [ 2 ]

1 голос
/ 14 октября 2019

Я не слишком знаком с Redis, но я верю, что сработает следующее (по крайней мере, у меня это сработало)

ibmcloud cdb deployment-connections redisdeleteme -s --user admin --password PASSWORD << 'EOF'
config set notify-keyspace-events $KExe
config get notify-keyspace-events
EOF

При выполнении это выглядело так:

~ $ ibmcloud cdb deployment-connections redisdeleteme -s --user admin --password PASSWORD << 'EOF'
> config set notify-keyspace-events $KExe
> config get notify-keyspace-events
> EOF
Connected to 4.0.10
OK
 1) "notify-keyspace-events"
 2) "$xeKE"
1 голос
/ 14 октября 2019

Вы можете выполнять команды Redis из командной строки Bash:

./redis-cli -h XXX.XXX.XXX.XXX -p YYYY HMSET 'users' 'joe' '12345' 'maria' 'qwerty' 'sim' '1970-01-01'

Это то, что вы ищете?

И вы можете создать файл с вашими командами и выполнять их как:

./redis-cli -h XXX.XXX.XXX.XXX -p YYYY < commandsfile.txt
...