阅读文档它看起来不像 Set POP (SPOP
) 是原子的,而 LPOP
和 RPOP
等是。这也是我在我的代码中看到的情况,我有两个客户端使用 lettuce
和监听 SPOP
的 react 流。推送某些内容时,两个客户端都会获得刚刚推送的相同值。我真的希望避免这种情况,因为我需要一套来保持我的值(value)观的独特性,并且希望 SPOP 与 LPOP 相同。
我有一个推送到这个 Set 的 pubsub 客户端,多个实例将有多个 pubsub 客户端,这就是 Set 防止完成额外工作的原因。
我可以确保列表仅包含唯一项,也可以使 SPOP 原子化。我应该怎么做?
最佳答案
还有其他人解释了为什么 SPOP 不是原子的:
https://medium.com/@stockholmux/redis-spop-culture-800cf306cbe6
关于Redis SPOP 不是原子的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52960476/