シンプルな Lua スクリプトがあります。
while ( i < 500000 ) do
redis.call("zadd", 'test1', i, i)
redis.call( "expire", 'test1', 600 )
i = i + 1
end
local res = redis.call("zrange", "test1", 0, 500000 )
for k,a in pairs(res) do
redis.call("zadd", 'test2',k,a)
end
このスクリプトが Redis サーバーをブロックするのはなぜですか? たとえば、別のコンソール コマンドで実行した場合: set test 1、結果:
BUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE.