【发布时间】:2021-09-14 05:16:02
【问题描述】:
我目前正在使用 Redis 作为我的整个微服务的分布式队列(不是发布/订阅队列,只是一个普通数组)。
但由于我的许多服务同时多次访问队列,因此有时会出现一些问题。
首先,我使用 rpush 命令将一个元素推送到队列中。然后,当进程处理队列的第一个元素(索引 == 0)时,我使用 blpop 命令弹出该元素。
现在问题来了。在弹出元素的那一刻,如果其他微服务请求更改队列状态的命令,它要么不弹出值,要么将值推送到队列中。
所以我想知道是否有一些有用的命令,或者保证命令不会相互冲突的技术。
【问题讨论】: