我使用Redis (v6.2.4) list数据结构作为队列,因为列表中同时有{lpush, rpop}和{rpush, lpop}命令。此外,在Redis afaik中没有单独的队列数据结构。
有多个使用此队列的并行使用者。是否可以在队列元素上使用逻辑事务?也就是说,如果使用者从队列中删除了一个项目,如果它在处理过程中失败了,那么元素应该返回到队列中。
我使用Jedis 4.2.3来对付一个Redis集群,其中有3个主服务器,每个主服务器都有2个副本。
发布于 2022-11-25 06:46:10
从5.0版开始,Redis支持流和使用者组,它们允许队列条目并通过多个(并行)使用者处理它们。
如果使用者组的使用者从流中读取一个条目并在处理过程中失败,它可以根据特定的标准(包括空闲时间)重新读取它,或者任何其他使用者可以接收挂起的条目的所有权。
我使用Jedis 4.2.3来对付一个Redis集群,其中有3个主服务器,每个主服务器都有2个副本。
Jedis 4.2.3完全支持Redis流;当然,在Redis集群中也支持流。
https://stackoverflow.com/questions/74566330
复制相似问题