Redis详解3.发布订阅

一年又一年,字节跳动 Lark(飞书) 研发团队又双叒叕开始招新生啦!
【内推码】:GTPUVBA
【内推链接】:https://job.toutiao.com/s/JRupWVj
【招生对象】:20年9月后~21年8月前 毕业的同学
【报名时间】:6.16-7.16(提前批简历投递只有一个月抓住机会哦!)
【画重点】:提前批和正式秋招不矛盾!面试成功,提前锁定Offer;若有失利,额外获得一次面试机会,正式秋招开启后还可再次投递。

章节目录

Redis详解1.安装及使用
Redis详解2.数据结构
Redis详解3.发布订阅
Redis详解4.事务
Redis详解5.数据持久化
Redis详解6.主从模式
Redis详解7.哨兵模式
Redis详解8.Cluster模式

1 简介

Redis提供了Pub/Sub功能(Publish/Subscribe)即发布及订阅功能:订阅者以事件订阅的方式表达出它有兴趣接收的一个事件或一类事件;发布者可将订阅者感兴趣的事件随时通知相关订阅者。Redis的Pub/Sub是一种消息通信模式,主要的目的是解除消息发布者和消息订阅者之间的耦合, Redis作为一个Pub/Sub的Server,在订阅者和发布者之间起到了消息路由的功能。

2 命令

  1. PUBLISH channel message:将信息message发送到指定的频道channel。
  2. SUBSCRIBE channel [channel ...]:订阅给定的一个或多个频道的信息。
  3. PSUBSCRIBE pattern [pattern ...]:订阅一个或多个符合给定模式的频道;每个模式以 * 作为匹配符。
  4. UNSUBSCRIBE [channel [channel ...]]:指示客户端退订给定的频道,如果没有频道被指定,那么命令订阅的所有频道都会被退订。
  5. PUBSUB CHANNELS [pattern]:列出当前的活跃频道。活跃频道指的是那些至少有一个订阅者的频道, 订阅模式的客户端不计算在内。
  6. PUBSUB NUMSUB [channel-1 ... channel-N]:返回给定频道的订阅者数量, 订阅模式的客户端不计算在内。
  7. PUBSUB NUMPAT:返回订阅模式的数量。这个命令返回的不是订阅模式的客户端的数量, 而是客户端订阅的所有模式的数量总和。

3 使用示例

client1启动订阅
# client1
127.0.0.1:6379> SUBSCRIBE mychannel
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "mychannel"
3) (integer) 1
client2发送消息
# client2
127.0.0.1:6379> PUBLISH mychannel "Happy Valentine's Day."
(integer) 1
client1接收到消息
# client1
1) "message"
2) "mychannel"
3) "Happy Valentine's Day."
查看Pub/Sub
127.0.0.1:6379> PUBSUB CHANNELS
1) "mychannel"
127.0.0.1:6379> PUBSUB NUMSUB mychannel
1) "mychannel"
2) (integer) 1
127.0.0.1:6379> PUBSUB NUMPAT
(integer) 0

你可能感兴趣的:(Redis详解3.发布订阅)