Java充电社
专辑
博文
联系我
本人继续续收门徒,亲手指导
Redis教程
-> 第3篇:Redis的发布和订阅
1、第1篇:Redis概述和安装
2、第2篇:Redis 5大数据类型
3、第3篇:Redis的发布和订阅
4、第4篇:Redis新的3种数据类型
5、第5篇:Jedis操作Redis6
6、第6篇:SpringBoot2整合Redis
7、第7篇:Redis事务操作
8、第8篇:Redis持久化之RDB(Redis DataBase)
9、第9篇:Redis持久化之AOF(Append Only File)
10、第10篇:Redis主从复制
11、第11篇:Redis集群(Cluster)
12、第12篇:Redis应用问题解决(缓存穿透、击穿、雪崩、分布式锁)
上一篇:第2篇:Redis 5大数据类型
下一篇:第4篇:Redis新的3种数据类型
<div style="display:none"></div> ## 3.1、什么是发布和订阅 redis发布订阅(pub/sub)是一种消息通信模式:发布者(pub)发布消息,订阅者(sub)接收消息。 redis客户端可以订阅任意数量的频道。 ## 3.2、redis的发布和订阅 1、客户端可以订阅频道如下图 ![](https://itsoku.oss-cn-hangzhou.aliyuncs.com/itsoku/blog/article/250/dde7edb1-8a20-4f89-9089-8083e94d39c7.png) 2、当给这个频道发布消息后,消息就会发送给订阅的客户端 ![](https://itsoku.oss-cn-hangzhou.aliyuncs.com/itsoku/blog/article/250/1987410f-f0a0-490c-9d4a-24f6ca13e07e.png) ## 3.3、发布和订阅的命令行实现 1、打开一个客户端订阅channel1 > 订阅命令:`subscribe channel1 channel2 ... `,可以订阅多个频道。 ![](https://itsoku.oss-cn-hangzhou.aliyuncs.com/itsoku/blog/article/250/6fe0de66-ebef-477f-be78-4f448107b297.png) 2、打开另一个客户端,给channel1发布消息hello > 发标消息命令:`publish channel 消息`,返回值表示有几个订阅者 ![](https://itsoku.oss-cn-hangzhou.aliyuncs.com/itsoku/blog/article/250/c84f9fc6-9313-4366-bea5-3aae266059f5.png) 3、切换到订阅者窗口,可以看到收到信息了 ![](https://itsoku.oss-cn-hangzhou.aliyuncs.com/itsoku/blog/article/250/b0ce5617-f2ab-420d-aaf2-b1b58c88cd78.png) ## 3.4、发布和订阅常用命令 ### 3.4.1、subscribe:订阅一个或者多个频道 ```shell SUBSCRIBE channel [channel ...] ``` 订阅给定的一个或多个频道的信息。 **返回值:**接收到的信息(请参见下面的代码说明)。 ```shell redis> subscribe msg chat_room Reading messages... (press Ctrl-C to quit) 1) "subscribe" # 返回值的类型:显示订阅成功 2) "msg" # 订阅的频道名字 3) (integer) 1 # 目前已订阅的频道数量 1) "subscribe" 2) "chat_room" 3) (integer) 2 1) "message" # 返回值的类型:信息 2) "msg" # 来源(从那个频道发送过来) 3) "hello moto" # 信息内容 1) "message" 2) "chat_room" 3) "testing...haha" ``` ### 3.4.2、publish:发布消息到指定的频道 ```shell PUBLISH channel message ``` 将信息 `message` 发送到指定的频道 `channel` 。 **返回值:**接收到信息 `message` 的订阅者数量。 ```shell redis> publish bad_channel "can any body hear me?" (integer) 0 redis> publish msg "good morning" (integer) 1 redis> publish chat_room "hello~ everyone" (integer) 3 ``` ### 3.4.2、psubscribe:订阅一个或多个符合给定模式的频道 ```shell PSUBSCRIBE pattern [pattern ...] ``` 订阅一个或多个符合给定模式的频道。 每个模式以 `*` 作为匹配符,比如 `it*` 匹配所有以 `it` 开头的频道( `it.news` 、 `it.blog` 、 `it.tweets` 等等), `news.*` 匹配所有以 `news.` 开头的频道( `news.it` 、 `news.global.today` 等等),诸如此类。 ```shell redis> psubscribe news.* tweet.* Reading messages... (press Ctrl-C to quit) 1) "psubscribe" # 返回值的类型:显示订阅成功 2) "news.*" # 订阅的模式 3) (integer) 1 # 目前已订阅的模式的数量 1) "psubscribe" 2) "tweet.*" 3) (integer) 2 1) "pmessage" # 返回值的类型:信息 2) "news.*" # 信息匹配的模式 3) "news.it" # 信息本身的目标频道 4) "Google buy Motorola" # 信息的内容 1) "pmessage" 2) "tweet.*" 3) "tweet.huangz" 4) "hello" 1) "pmessage" 2) "tweet.*" 3) "tweet.joe" 4) "@huangz morning" 1) "pmessage" 2) "news.*" 3) "news.life" 4) "An apple a day, keep doctors away" ``` <a style="display:none" target="_blank" href="https://mp.weixin.qq.com/s/_S1DD2JADnXvpexxaBwLLg" style="color:red; font-size:20px; font-weight:bold">继续收门徒,亲手带,月薪 4W 以下的可以来找我</a> ## 最新资料 1. <a href="https://mp.weixin.qq.com/s?__biz=MzkzOTI3Nzc0Mg==&mid=2247484964&idx=2&sn=c81bce2f26015ee0f9632ddc6c67df03&scene=21#wechat_redirect" target="_blank">尚硅谷 Java 学科全套教程(总 207.77GB)</a> 2. <a href="https://mp.weixin.qq.com/s?__biz=MzkwOTAyMTY2NA==&mid=2247484192&idx=1&sn=505f2faaa4cc911f553850667749bcbb&scene=21#wechat_redirect" target="_blank">2021 最新版 Java 微服务学习线路图 + 视频</a> 3. <a href="https://mp.weixin.qq.com/s?__biz=MzkwOTAyMTY2NA==&mid=2247484573&idx=1&sn=7f3d83892186c16c57bc0b99f03f1ffd&scene=21#wechat_redirect" target="_blank">阿里技术大佬整理的《Spring 学习笔记.pdf》</a> 4. <a href="https://mp.weixin.qq.com/s?__biz=MzkwOTAyMTY2NA==&mid=2247484544&idx=2&sn=c1dfe907cfaa5b9ae8e66fc247ccbe84&scene=21#wechat_redirect" target="_blank">阿里大佬的《MySQL 学习笔记高清.pdf》</a> 5. <a href="https://mp.weixin.qq.com/s?__biz=MzkwOTAyMTY2NA==&mid=2247485167&idx=1&sn=48d75c8e93e748235a3547f34921dfb7&scene=21#wechat_redirect" target="_blank">2021 版 java 高并发常见面试题汇总.pdf</a> 6. <a href="https://mp.weixin.qq.com/s?__biz=MzkwOTAyMTY2NA==&mid=2247485664&idx=1&sn=435f9f515a8f881642820d7790ad20ce&scene=21#wechat_redirect" target="_blank">Idea 快捷键大全.pdf</a> ![](https://itsoku.oss-cn-hangzhou.aliyuncs.com/itsoku/blog/article/1/2883e86e-3eff-404a-8943-0066e5e2b454.png)
#custom-toc-container