消息队列
前言
消息队列:把要传输的数据放在队列中
功能:可以实现多个系统之间的解耦、异步、削峰/限流等
消息队列主要分为两种,这两种模式redis都支持
- 生产者/消费者模式
- 发布者/订阅者模式
常用的消息队列应用:Kafka、rabbitMQ、redis(不太专业)
生产者/消费者模式
- 先生产,后消费
- 消费者通过抢购得到
- 可以利用list列表来实现
发布者/订阅者模式
- 先订阅,后发布
- 订阅者都会收到
订阅者监听频道
127.0.0.1:6379> SUBSCRIBE 89.4 106.6 #订阅者事先订阅指定的频道,之后发布的消息才能收到
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "89.4"
3) (integer) 1
1) "subscribe"
2) "106.6"
3) (integer) 2
#订阅支持通配符
127.0.0.1:6379> PSUBSCRIBE pattern [pattern ...]发布者发布消息
127.0.0.1:6379> PUBLISH 89.4 hello #发布消息
(integer) 1
127.0.0.1:6379> SUBSCRIBE 89.4 106.6
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "89.4"
3) (integer) 1
1) "subscribe"
2) "106.6"
3) (integer) 2
1) "message" #收到消息
2) "89.4"
3) "hello"