Redis CLI 重命名键 - ERR 未知命令 RENAME with args
Redis CLI Rename Key - ERR unknown command RENAME with args
我有一个 redis-cli 脚本,我可以在本地(从 Win10)运行 但是当我 运行 它针对服务器(Linux)和 重命名命令。
与 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>
(错误)错误未知命令重命名,args 开头为: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
我在这里做错了什么?是我 运行ning Win10 cli 针对 Linux Redis 服务器造成的吗?
谢谢!
结论
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
我有一个 redis-cli 脚本,我可以在本地(从 Win10)运行 但是当我 运行 它针对服务器(Linux)和 重命名命令。
与 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>
(错误)错误未知命令重命名,args 开头为: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
我在这里做错了什么?是我 运行ning Win10 cli 针对 Linux Redis 服务器造成的吗?
谢谢!
结论
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