Redis 面试知识点笔记(五)如何通过Redis 实现异步队列
2019-05-13 11:03
1056 查看
问:如何使用redis做异步队列
1.使用List作为队列,rpush生产消息,lpop消费消息
缺点:没有等待队列里有值就立刻消费
弥补:可以通过在应用层sleep机制去调用lpop重试
2.BLPOP key [key ...] timeout 阻塞直到队列有消息或者超时
这个方法缺点是只能为一个消费者提供消费!
3.pub/sub 主题发布订阅者模式(最常用)
注意:pub/sub是无状态的,不能保证消息是否可达,消息发出去就不管了,如果消费者没收到消息也不会有补偿机制。
想弥补这个缺点只有使用专业的mq(activemq,robbitmq,rocketmq,kafka,具体区别自行百度了)
相关文章推荐
- 队列实现异步--通过redis
- Redis 面试知识点笔记(六)Redis如何做持久化
- Linux集群服务知识点总结及通过案例介绍如何实现高性能web服务(一)
- Linux集群服务知识点总结及通过案例介绍如何实现高性能web服务
- Redis笔记(七)Java实现Redis消息队列
- 详解redis是如何实现队列消息的ack
- python如何通过twisted实现数据库异步插入
- 常见的异步实现方法以及ES7中如何通过async实现异步操作
- php中通过Ajax如何实现异步文件上传的代码实例
- Silverlight学习笔记四:如何通过自定义ComboBox实现SelectedValue
- Linux集群服务知识点总结及通过案例介绍如何实现高性能web服务
- 使用Redis实现异步消息队列
- 如何通过异步方法读取消息队列(BeginReceive())?
- python_如何通过twisted实现数据库异步插入?
- JavaScript 通过队列实现异步流控制
- [置顶] Redis应用3-基于Redis消息队列实现的异步操作
- Redis学习笔记~实现消息队列比MSMQ更方便
- Linux集群服务知识点总结及通过案例介绍如何实现高性能web服务(二)
- Redis 面试知识点笔记(七)pipeline及主从同步、集群
- Redis应用3-基于Redis消息队列实现的异步操作