Redis消息队列
List
缺点:从队列中pop的信息没来得及处理如果宕机了,那消息就丢失了,因为pop会把消息从队列中remove。///////无法支持一条消息给多个用户使用。
PubSub
Stream
单消费模式
可以实现持续监听最新消息
但又有个小bug,会漏读
特点:
1、消息被读取后不会丢失,还能再读,不同消费者能读相同的信息,同一个消费者还能重复读取信息。
2、可阻塞读取(前两个也能)
3、可能造成消息漏读。
消费者组模式
实现
1、创建队列和消费者组(命令行)
2、修改lua脚本,直接向strea.orders中添加信息
后面业务只要判断是否为0就够了
3、获取消息队列中的信息
处理pendinglist异常