前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis教程09(发布和订阅)

Redis教程09(发布和订阅)

作者头像
用户4919348
发布2019-04-02 11:33:54
3070
发布2019-04-02 11:33:54
举报
文章被收录于专栏:波波烤鸭波波烤鸭

之前几篇文章给大家介绍了redis的五种数据类型及相关的命令,本文介绍redis中比较简单的发布订阅

Redis发布和订阅

Redis 发布订阅(pub/sub)是一种消息通信模式: 发送者(pub)发送消息 订阅者(sub)接收消息 Redis 客户端可以订阅任意数量的频道

订阅消息

客户端订阅消息的命令如下

代码语言:javascript
复制
127.0.0.1:6379> subscribe c1 c2 c3
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "c1"
3) (integer) 1
1) "subscribe"
2) "c2"
3) (integer) 2
1) "subscribe"
2) "c3"
3) (integer) 3

发送消息如下命令:

代码语言:javascript
复制
127.0.0.1:6379> publish c1 "hello redis"
(integer) 1
127.0.0.1:6379> publish c2 'hehe'
(integer) 1

客户端同时会接收到消息:

代码语言:javascript
复制
127.0.0.1:6379> subscribe c1 c2 c3
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "c1"
3) (integer) 1
1) "subscribe"
2) "c2"
3) (integer) 2
1) "subscribe"
2) "c3"
3) (integer) 3
1) "message"
2) "c1"
3) "hello redis" #接收到c1发送的消息
1) "message"
2) "c2" 
3) "hehe" #接收到c2发送的消息

模式订阅消息

客户端在订阅消息的时候还可以通过模式匹配订阅的方式订阅,如下

代码语言:javascript
复制
127.0.0.1:6379> psubscribe c*
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "c*" #订阅所有发送则是c开头的消息
3) (integer) 1

发送消息,没有区别

代码语言:javascript
复制
127.0.0.1:6379> publish c1 "hello redis"
(integer) 1

接收消息

代码语言:javascript
复制
127.0.0.1:6379> psubscribe c*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "c*"
3) (integer) 1
1) "pmessage"
2) "c*"
3) "c1"
4) "hello redis" #自动接收到c1发送来的消息

发布订阅要注意网络连接断开的话需要重新连接,此时就会有可能数据的丢失。这个需要注意~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年02月12日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Redis发布和订阅
    • 订阅消息
      • 模式订阅消息
      相关产品与服务
      云数据库 Redis
      腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档