无法识别的选项或错误数量的参数:'--evalsha'
Unrecognized option or bad number of args for: '--evalsha'
当我 运行 redis-cli script load "$(cat ./scripts/restoreSymbols.lua)"
用于以下脚本时:
local list = {}
local result = redis.call('scan', 0, 'MATCH', 'symbol:*', 'COUNT', 1000)
for _, v in ipairs(result[2]) do
list[#list+1] = redis.call('hgetall', v)
end
return list
我得到一个 sha a8a6b471abf42b6cc584444e9d269e9807d96ff1
但是当我 运行 redis-cli --evalsha a8a6b471abf42b6cc584444e9d269e9807d96ff1
我得到:
Unrecognized option or bad number of args for: '--evalsha'
这怎么可能?我不需要任何选项或参数。该脚本正在运行(使用调试器对其进行调试),并且在我正常运行时也 运行s --eval 它。
--evalsha
标志不是有效的 redis-cli
选项。您可以使用 --eval
来 运行 您的脚本,例如
redis-cli --eval ./scripts/restoreSymbols.lua
但是如果你想使用evalsha
到运行一个加载的脚本,你需要做的是
redis-cli evalsha a8a6b471abf42b6cc584444e9d269e9807d96ff1 0
请注意,您必须传递 0
以表明您没有向命令传递任何参数。
当我 运行 redis-cli script load "$(cat ./scripts/restoreSymbols.lua)"
用于以下脚本时:
local list = {}
local result = redis.call('scan', 0, 'MATCH', 'symbol:*', 'COUNT', 1000)
for _, v in ipairs(result[2]) do
list[#list+1] = redis.call('hgetall', v)
end
return list
我得到一个 sha a8a6b471abf42b6cc584444e9d269e9807d96ff1
但是当我 运行 redis-cli --evalsha a8a6b471abf42b6cc584444e9d269e9807d96ff1
我得到:
Unrecognized option or bad number of args for: '--evalsha'
这怎么可能?我不需要任何选项或参数。该脚本正在运行(使用调试器对其进行调试),并且在我正常运行时也 运行s --eval 它。
--evalsha
标志不是有效的 redis-cli
选项。您可以使用 --eval
来 运行 您的脚本,例如
redis-cli --eval ./scripts/restoreSymbols.lua
但是如果你想使用evalsha
到运行一个加载的脚本,你需要做的是
redis-cli evalsha a8a6b471abf42b6cc584444e9d269e9807d96ff1 0
请注意,您必须传递 0
以表明您没有向命令传递任何参数。