阅读文档似乎并不像Set POP(SPOP
)是原子的,而LPOP
和RPOP
等却是原子的。这也是我在代码中看到的,我有两个使用lettuce
的客户端和反应式流在监听SPOP
。推送内容时,两个客户端将获得与推送相同的值。我真的希望避免这种情况,因为我需要一个设置来保持我的值唯一,并且希望SPOP与LPOP相同。
我有一个推送到此Set的pubsub客户端,并且多个实例将具有多个pubsub客户端,这就是为什么Set可以防止完成额外工作的原因。
我可以确保列表仅包含唯一项,也可以使SPOP原子化。我应该怎么做?
答案 0 :(得分:1)
还有其他人解释为什么SPOP不是原子的:
https://medium.com/@stockholmux/redis-spop-culture-800cf306cbe6