在队列里面有数据的时候单次弹出n个元素
如果返回的table里面没有元素就调用BLPOP命令阻塞线程 RPUSH的时候会给线程发消息解除阻塞
local key = KEYS[1]
local n = tonumber(ARGV[1])
local popped_elements = {}
for i=1,n
do
local element = redis.call('lpop', key)
if element == false then
break
end
if element then
table.insert(popped_elements, element)
end
end
return popped_elements文档更新时间: 2026-03-31 15:53 作者:morninglu
