如何使用redis做异步队列


我们知道redis支持很多种结构的数据,那么如何使用redis作为异步队列使用呢?

  1. 使用list结构,rpush生产消息,lpop消费消息。
  2. lpop没有消息的时候,可适当sleep后重试。
  3. 若不使用sleep方案,可使用blpop消费消息,它会阻塞直至消息到来。

pub/sub的主题订阅者模式的优缺点

  优点:可实现生产一次消费多次,实现1:N的消息队列。

  缺点:在消费者下线的情况下,生产的消息会丢失,需要专业的消息队列如rabbitMQ。

如何使用redis实现演示队列?

  可配合使用sortedset,时间戳为score,消息内容为key,调用zadd来生产消息。消费者用zrangebyscore指令获取数据轮询进行处理。  

 

以上总结参考:https://mp.weixin.qq.com/s/HEEhaVLNMGr4W06hPxWKjA


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM