我有一个可以在本地运行的 redis-cli 脚本(从 Win10),但是当我使用 rename 命令在服务器 (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>
(错误)错误未知命令重命名,参数开头为: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
我在这里做错了什么?是我在 Linux Redis 服务器上运行 Win10 cli 导致的吗?
谢谢!
最佳答案
结论
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 重命名 key - 错误未知命令使用参数重命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60837832/