gpt4 book ai didi

lua - 为什么 lua 脚本会阻塞 redis-server?

转载 作者:IT王子 更新时间:2023-10-29 06:08:10 25 4
gpt4 key购买 nike

我有一个简单的 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.

最佳答案

Redis 是单线程的。每个命令都会阻止它。 EVAL 也是一个命令,因此它会阻塞 redis。

关于lua - 为什么 lua 脚本会阻塞 redis-server?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11261631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com