【发布时间】:2016-01-31 04:33:13
【问题描述】:
我正在寻找类似于 BLPOP 的东西,但不是元素,我想让它们都在循环中运行。 意思是我要获取redis集合的所有记录,并截断。
【问题讨论】:
-
为什么不只是 LRANGE+DEL?
-
我创建了很多记录,这样我可能会删除一些未读记录。
我正在寻找类似于 BLPOP 的东西,但不是元素,我想让它们都在循环中运行。 意思是我要获取redis集合的所有记录,并截断。
【问题讨论】:
考虑使用 LUA 脚本以原子方式执行 LRANGE+DEL。
或使用RENAME 将列表移动到您将用于处理数据的临时键。
RENAME yourlist temp-list
LRANGE temp-list 0 -1
... process the list
DEL temp-list
【讨论】: