如何使用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

posted @ 2021-03-31 23:13  smallzhen  阅读(1142)  评论(0编辑  收藏  举报