Redis SPOP不是原子的吗?

时间:2018-10-24 02:59:28

标签: redis

阅读文档似乎并不像Set POP(SPOP)是原子的,而LPOPRPOP等却是原子的。这也是我在代码中看到的,我有两个使用lettuce的客户端和反应式流在监听SPOP。推送内容时,两个客户端将获得与推送相同的值。我真的希望避免这种情况,因为我需要一个设置来保持我的值唯一,并且希望SPOP与LPOP相同。

我有一个推送到此Set的pubsub客户端,并且多个实例将具有多个pubsub客户端,这就是为什么Set可以防止完成额外工作的原因。

我可以确保列表仅包含唯一项,也可以使SPOP原子化。我应该怎么做?

1 个答案:

答案 0 :(得分:1)

还有其他人解释为什么SPOP不是原子的:

https://medium.com/@stockholmux/redis-spop-culture-800cf306cbe6