Redis CLI Rename Key - ERR неизвестная команда RENAME с аргументами - PullRequest
0 голосов
/ 24 марта 2020

У меня есть скрипт redis-cli, который я могу запустить локально (из Win10), но он не работает, когда я запускаю его на сервере (Linux) с помощью команды rename .

После подключения с помощью redis-cli (из Win10) я запускаю следующее:

SET "someinstance.domain.us:mytenant:MyDailyData:2018.1.10" "Hello123"
GET "someinstance.domain.us:mytenant:MyDailyData:2018.1.10"
RENAME "someinstance.domain.us:mytenant:MyDailyData:2018.1.10" "TEMP:someinstance.domain.us:mytenant:MyDailyData:2018.1.10"
DEL "TEMP:someinstance.domain.us:mytenant:MyDailyData:2018.1.10"
GET "TEMP:someinstance.domain.us:mytenant:MyDailyData:2018.1.10"

, хотя локально все в порядке, когда я запускаю его на сервере, я получаю следующий вывод:

my-redis-address:6379> SET "someinstance.domain.us:mytenant:MyDailyData:2018.1.10" "Hello123"
OK
my-redis-address:6379> GET "someinstance.domain.us:mytenant:MyDailyData:2018.1.10"
"Hello123"
my-redis-address:6379> RENAME "someinstance.domain.us:mytenant:MyDailyData:2018.1.10" "TEMP:someinstance.domain.us:mytenant:MyDailyData:2018.1.10"

(error) ERR unknown command `RENAME`, with args beginning with: `someinstance.domain.us:mytenant:MyDailyData:2018.1.10`, `TEMP:someinstance.domain.us:mytenant:MyDailyData:2018.1.10`,

my-redis-address:6379> DEL "TEMP:someinstance.domain.us:mytenant:MyDailyData:2018.1.10"
(integer) 0
my-redis-address:6379> GET "TEMP:someinstance.domain.us:mytenant:MyDailyData:2018.1.10"
(nil)
my-redis-address:6379>

(ошибка) ERR неизвестная команда RENAME, аргументы которой начинаются с: someinstance.domain.us:mytenant:MyDailyData:2018.1.10, TEMP: someinstance.domain.us: mytenant: MyDailyData: 2018.1.10,

данные сервера redis:

gcc_version 5.4.0
os  Linux 4.4.0-176-generic x86_64
redis_build_id  452d9690a8de23a2
redis_mode  standalone
redis_version   5.0.7

Что я здесь не так делаю? Это я использую Win10 cli против Linux сервера Redis, который его вызывает?

спасибо!

1 Ответ

1 голос
/ 25 марта 2020

Заключение

Команда RENAME была переименована во что-то бессмысленное на вашем сервере.

Решение

Проверьте файл redis.conf на сервере есть ли строка rename-command RENAME xxx. Если это так, прокомментируйте его и перезапустите сервер Redis (если сервер подключен к сети, сначала обратитесь к администратору)

С redis.conf :

# It is possible to change the name of dangerous commands in a shared
# environment. For instance the CONFIG command may be renamed into something
# hard to guess so that it will still be available for internal-use tools
# but not available for general clients.
#
# Example:
#
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
...