发布订阅

相关命令:publish(发布)  subscribe(订阅)  psubscribe(支持通配符匹配)

发布者--频道--订阅者(发布和订阅都是客户端频道是服务端)

1、publish- subscribe 模式

开启一个命令窗体,redis订阅者:

# redis-cli
127.0.0.1:> subscribe channel_1
Reading messages... (press Ctrl-C to quit)
) "subscribe"
) "channel_1"
) (integer)

然后再开启一个命令窗体为redis 发布者:

# redis-cli
127.0.0.1:6379> publish channel_1 "hello"
(integer) 2
127.0.0.1:6379> publish channel_1 "world"
(integer) 2

然后再看看订阅者的反馈:

127.0.0.1:> subscribe channel_1
Reading messages... (press Ctrl-C to quit)
) "subscribe"
) "channel_1"
) (integer)
) "message"//订阅消息
) "channel_1"//频道
) "hello"//消息体
) "message"//消息
) "channel_1"//订阅频道
) "world"//消息

收到 channle_1=>hello 和 channel_1=>world,发布者广播的消息。

2、publish-psubscribe 模式

首先,定义订阅者订阅

# redis-cli
127.0.0.1:6379> psubscribe server-*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "server-*"
3) (integer) 1

其次,定义发布者server-1

# redis-cli
127.0.0.1:> publish server- "server-1"

再次,定义发布者server-2

# redis-cli
127.0.0.1:> publish server- "server_2"

最后,查看订阅者订阅变化

# redis-cli
127.0.0.1:> psubscribe server-*
Reading messages... (press Ctrl-C to quit)
) "psubscribe"
) "server-*"
) (integer)
) "pmessage"
) "server-*"
) "server-1"//server-1
) "server-1"
) "pmessage"
) "server-*"
) "server-2"//server-2
) "server_2"

3、退订

unsubscribe <频道s>

punsubscribe <频道s>

4、查看订阅信息 PUBSUB CHANNELS

Redis 设计与实现 (六)--发布订阅的更多相关文章

  1. php redis pub/sub(Publish/Subscribe,发布/订阅的信息系统)之基本使用

    一.场景介绍 最近的一个项目需要用到发布/订阅的信息系统,以做到最新实时消息的通知.经查找后发现了redis pub/sub(发布/订阅的信息系统)可以满足我的开发需求,而且学习成本和使用成本也比较低 ...

  2. redis源码分析之发布订阅(pub/sub)

    redis算是缓存界的老大哥了,最近做的事情对redis依赖较多,使用了里面的发布订阅功能,事务功能以及SortedSet等数据结构,后面准备好好学习总结一下redis的一些知识点. 原文地址:htt ...

  3. redis教程(一)-----redis数据类型、基本命令、发布订阅以及持久化

    简介 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMwa ...

  4. Redis事务、持久化、发布订阅

    一.Redis事物 1. 概念 Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化.按顺序地执行.事务在执行的过程中,不会被其他 ...

  5. Redis 4.x 安装及 发布/订阅实践和数据持久化设置

    1.或者源码安装包 #wget http://download.redis.io/releases/redis-4.0.6.tar.gz 2.解压源码包 #tar -zxf redis-4.0.6.t ...

  6. Redis的发布订阅及.NET客户端实现

    序言 发布订阅在设计模式中也可以说是观察者模式,针对这个模式是处理对象间一对多的依赖关系的,当一个对象发生变化,其它依赖他的对象都要得到通知并更新. 然而它也有自己的缺点,就是当主题发生一系列的变化时 ...

  7. redis(3)发布订阅

    一.发布/订阅模式 在软件工程里面,发布/订阅是一种消息模式,这种模式旨在将消息发送者和消息接收者解耦.发送者不需要关心将消息发送给谁,接收者也不需要知道消息的发送者是谁.发送者将消息发布以后就结束动 ...

  8. RedisRepository封装—Redis发布订阅以及StackExchange.Redis中的使用

    本文版权归博客园和作者本人吴双共同所有,转载请注明本Redis系列分享地址.http://www.cnblogs.com/tdws/tag/NoSql/ Redis Pub/Sub模式 基本介绍 Re ...

  9. SpringBoot进阶教程(二十九)整合Redis 发布订阅

    SUBSCRIBE, UNSUBSCRIBE 和 PUBLISH 实现了 发布/订阅消息范例,发送者 (publishers) 不用编程就可以向特定的接受者发送消息 (subscribers). Ra ...

  10. Spring Data Redis实现消息队列——发布/订阅模式

    一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式.利用redis这两种场景的消息队列都能够实现. 定义:生产者消费者模式:生产者生产消息放到队列里,多个消费者同时监听队列, ...

随机推荐

  1. java 异步线程下的顺序控制

    转载请注明出处!!!! java.util.concurrent.CountDownLatch 的使用可以达到效果   CountDownLatch是JAVA提供在java.util.concurre ...

  2. knn算法详解

    邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一.所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代 ...

  3. 方法总结:如何实现html页面自动刷新

    使用场景: 1. 页面需要定时刷新,实时加载数据,需要实时查看监控数据(H5中的WebSocket和SSE可以实现局部刷新) 2. 一定时间之后跳转到指定页面(登录注册之类) 3. 前端开发使用伪数据 ...

  4. RabbitMQ安装手册

    1.   下载 下载地址:http://www.rabbitmq.com/download.html 2.   windows下安装 2.1.  安装Erlang 下载:http://www.erla ...

  5. tensorflow用dropout解决over fitting-【老鱼学tensorflow】

    在机器学习中可能会存在过拟合的问题,表现为在训练集上表现很好,但在测试集中表现不如训练集中的那么好. 图中黑色曲线是正常模型,绿色曲线就是overfitting模型.尽管绿色曲线很精确的区分了所有的训 ...

  6. mongDB数据库 小白学习

    一  安装配置 1.配置文件mongod.cfg (路径:D:\data\config\mongod.cfg) 如下: systemLog: destination: file path: D:\da ...

  7. Dalvik和ART

    --摘自<Android进阶解密> DVM和ART都是在Zygote进程中诞生的 *DVM和JVM的区别* 1.基于的架构不同 DVM是基于寄存器的,它没有基于栈的虚拟机在复制数据时而使用 ...

  8. windows下apache+https环境配置

    windows下apache+https环境配置 转 https://www.cnblogs.com/sandaizi/p/7519370.html 1.修改配置文件conf/httpd.conf,去 ...

  9. Mac下brew安装JDK的教程

    ---恢复内容开始--- 安装命令: brew cask install java 默认应该会下载jdk7 也可以指定下载版本brew cask install java6 注意: brew inst ...

  10. promisify,promisifyAll,promise.all实现原理

    1.promisify function toPrimisify (fn){ return function (...args){      return new Promise(function(r ...