Редис SPOP не атомный? - PullRequest
       4

Редис SPOP не атомный?

0 голосов
/ 24 октября 2018

При чтении документации не похоже, что Set POP (SPOP) является атомарным, где LPOP, RPOP и т. Д.Это также то, что я вижу с моим кодом, где у меня есть два клиента, использующие lettuce и реактивные потоки, прослушивающие SPOP.Когда что-то выдвигается, оба клиента получают то же значение, которое было только что выдвинуто.Я действительно надеялся избежать этого, потому что мне нужен набор для сохранения уникальности моих значений, и надеялся, что SPOP будет идентичен LPOP.

У меня есть клиент pubsub, который передает этот набор, и несколько экземпляров будут иметь несколькоклиенты pubsub, поэтому установите для предотвращения выполнения дополнительной работы.

Я могу либо убедиться, что список содержит только уникальные элементы, либо я могу сделать SPOP атомарным.Как мне это сделать?

1 Ответ

0 голосов
/ 24 октября 2018

Есть еще кто-то, кто объясняет, почему SPOP не является атомарным:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...