专栏首页波波烤鸭Redis教程09(发布和订阅)

Redis教程09(发布和订阅)

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

Redis发布和订阅

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

订阅消息

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

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

发送消息如下命令:

127.0.0.1:6379> publish c1 "hello redis"
(integer) 1
127.0.0.1:6379> publish c2 'hehe'
(integer) 1

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

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发送的消息

模式订阅消息

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

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

发送消息,没有区别

127.0.0.1:6379> publish c1 "hello redis"
(integer) 1

接收消息

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发送来的消息

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 好好编程-物流项目21【订单管理-新增订单】

      页面加载完成及操作动态改变客户的时候我们都需要将默认的区间与之对应。 实现方式如下:

    用户4919348
  • Redis教程07(Set集合介绍)

    集合中最大的成员数为 2^32 - 1 (4294967295, 每个集合可存储40多亿个成员)。

    用户4919348
  • SpringMVC教程5[数据回写和异常处理及JSON操作]

    在需要回传的对象前添加@ModelAttribute(“bb”)注解,在界面中就可以通过bb前缀来获取回写信息。

    用户4919348
  • 易图秒懂の人工智能诞生

    人工智能,机器学习越来越火了, 这里想用读图的方式, 让你理解, 人工智能诞生、神经网络诞生、机器学习诞生和深度学习诞生的参与者。 这里先描述下下人工智能诞生。...

    史博
  • Redis中的发布订阅和事务

    hello,小伙伴们好久不见!前面我们说了redis中的基本数据类型,本文我们来看看redis中的发布订阅和事务,因为这两个都比较简单,因此我放在一篇文章中来讲...

    江南一点雨
  • 人类专家与人工智能联合打击网络恐怖主义活动

    《麻省理工技术评论》称针对近日频发的恐怖袭击事件,政界人士批评社交网络是滋生极端主义的温床。目前,Facebook宣布正在开发人工智能并成立了由150个专家组成...

    人工智能快报
  • 如何纳管与定义多云?

    犹如一种潮流,现在无人不在谈云,更甚于早些年的虚拟化。在各大IT厂商和互联网企业的推波助澜之下,用户争相建云和上云,几年下来即使一个规模不大的企业或单位也可能同...

    嘉为科技
  • Swift入门: 字典

    如您所见,Swift数组是一个集合,您可以使用数字索引(如songs[0])访问每个项。字典是另一种常见的集合类型,但它们不同于数组,因为它们允许您根据指定的键...

    韦弦zhy
  • Swift基础---Optionals

    用户3004328
  • ERC20 协议 Token 钱包浅谈

    这是「区块链技术指北」的第 3 篇文章。 以太坊,Ethereum 是一个分布式的计算机,有许多的节点,其中的每一个节点,都会执行字节码(其实就是智能合约),然...

    robinwen

扫码关注云+社区

领取腾讯云代金券