1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > redis list 实现消息队列 多线程消费

redis list 实现消息队列 多线程消费

时间:2023-04-13 11:16:42

相关推荐

redis list 实现消息队列 多线程消费

redis list 实现消息队列 多线程消费

redis list 实现消息队列 多线程消费

redis list 实现消息队列 多线程消费

利用redis list 命令:

Redis Brpoplpush 命令从列表中取出最后一个元素,并插入到另外一个列表的头部; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

BRPOPLPUSH msg reciver 500

假如在指定时间内没有任何元素被弹出,则返回一个 nil 和等待时长。 反之,返回一个含有两个元素的列表,第一个元素是被弹出元素的值,第二个元素是等待时长。

多个线程分别拉去公共list中消息,并保存到各自线程命名的redis list 中,待成功消费消息后各自将自己的redis list 中的item 移除,如果消费过程中线程异常中断,则自己的list 中的item不被移除,重新启动线程时先从自己的list中拉去并保存到自己list中,得到item进行消费之后再从公共的list中消费item。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。