专栏首页朝雨忆轻尘Redis笔记(五):Redis发布订阅

Redis笔记(五):Redis发布订阅

Redis 发布订阅

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。

Redis 客户端可以订阅任意数量的频道。

下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:

当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:


实例

以下实例演示了发布订阅是如何工作的。在我们实例中我们创建了订阅频道名为 redisChat:

redis 127.0.0.1:6379> SUBSCRIBE redisChat

Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisChat"
3) (integer) 1

现在,我们先重新开启个 redis 客户端,然后在同一个频道 redisChat 发布两次消息,订阅者就能接收到消息。

redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"

(integer) 1

redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by runoob.com"

(integer) 1
# 订阅者的客户端会显示如下消息
1) "message"
2) "redisChat"
3) "Redis is a great caching technique"
1) "message"
2) "redisChat"
3) "Learn redis by runoob.com"

Redis 发布订阅命令

下表列出了 redis 发布订阅常用命令:

序号

命令及描述

1

PSUBSCRIBE pattern [pattern ...] 订阅一个或多个符合给定模式的频道。

2

PUBSUB subcommand [argument [argument ...]] 查看订阅与发布系统状态。

3

PUBLISH channel message 将信息发送到指定的频道。

4

PUNSUBSCRIBE [pattern [pattern ...]] 退订所有给定模式的频道。

5

SUBSCRIBE channel [channel ...] 订阅给定的一个或多个频道的信息。

6

UNSUBSCRIBE [channel [channel ...]] 指退订给定的频道。

本文转载自

原文作者:菜鸟学院

原文地址:http://www.runoob.com/redis/redis-pub-sub.html

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Spring Boot + Spring Cloud 实现权限管理系统 后端篇(一):Kitty 系统介绍

    温馨提示: 有在演示环境删除数据的童鞋们,如果可以的话,麻烦动动小指,右键头像菜单, 选择 -> 备份还原 帮忙恢复到系统默认备份数据,方便后来的童鞋查看,谢谢...

    朝雨忆轻尘
  • Spring Boot使用Shiro实现登录授权认证

    1、Shiro是Apache下的一个开源项目,我们称之为Apache Shiro。它是一个很易用与Java项目的的安全框架,提供了认证、授权、加密、会话管理,与...

    朝雨忆轻尘
  • Spring Boot + Spring Cloud 实现权限管理系统 后端篇(五):模块化切分

    考虑到后续我们的模块会越来越多,依赖的公共代码和配置需要集中管理,我们在这里先把公共模块和配置从后台管理业务中剥离出来。

    朝雨忆轻尘
  • 使用延迟的FileSystemWatcher来避免重复触发事件

      程序里需要监视某个目录下的文件变化情况: 一旦目录中出现新文件或者旧的文件被覆盖,程序需要读取文件内容并进行处理;但在实际处理中发现当一个文件产生变化时,C...

    跟着阿笨一起玩NET
  • 米斯特白帽培训讲义(v2)漏洞篇 SSRF

    很多 Web 应用都提供了从其他服务器上获取数据的功能。使用用户指定的 URL,web 应用可以获取图片,下载文件,读取文件内容等。这个功能如果被恶意使用,可以...

    ApacheCN_飞龙
  • BlackHole开发日记-一次压力测试及JVM调优的经过

    BlackHole开发很久了,目前稳定性、性能都还可以了,但是作为一个Java程序,内存开销一直是硬伤,动不动100M内存下去了,对于单机用户实在是不太友好。

    九州暮云
  • requests库之Cookie

    Requests是用Python语言编写的,基于urllib3来改写的,采用Apache2 Licensed 来源协议的HTTP库。它比urllib更加方便,可...

    胡齐
  • 当我们在谈论内存时,我们在谈论什么

    内存,是程序员绕不过的一道坎。写过 C 和 C++ 的人想必都会对内存的手动分配和释放难以忘怀,在 Java 中,得益于 JVM 的自动垃圾回收( GC )机制...

    用户5397975
  • 知识图谱学习笔记(1)

    用户1177380
  • bugkuctf_web_writeup(部分)--下

    bugkuctf平台10个较简单的web题目writeup,适合新手入门,可以找来试试http://ctf.bugku.com/bbs 。 本地包含 题目描述:...

    安恒网络空间安全讲武堂

扫码关注云+社区

领取腾讯云代金券