Redis发布订阅

简介

发布者和订阅者都是Redis客户端。发布者可以发消息到任意多个频道上,订阅者可以订阅任意多个频道。

订阅命令

subscribe channel [channel ...]:返回的数字 1 , 2 表示订阅的第n个频道,频道返回的消息类型是message

1127.0.0.1:6379> subscribe education health 2Reading messages... (press Ctrl-C to quit) 31) "subscribe" 42) "education" 53) (integer) 1 61) "subscribe" 72) "health" 83) (integer) 2

psubscribe  channel [channel ...] :p—pattern,模式匹配,相当正则。假如有频道 news.it  、news.beauty 、newsPE , health 、那只有前两个符合正则news.*,那么前两个频道的消息,订阅者都能接受。频道返回的消息类型是pmessage

1127.0.0.1:6379> subscribe news.* 2Reading messages... (press Ctrl-C to quit) 31) "subscribe" 42) "news.*" 53) (integer) 1

unsubscribe [channel [channel ...]] : 取消通过subscribe订阅的频道 ,如果不加传入频道参数,客户端使用 SUBSCRIBE 命令订阅的所有频道都会被退订

punsubscribe [channel [channel ...]] :取消通过psubscribe订阅的频道 ,如果不加传入频道参数,客户端使用 PSUBSCRIBE 命令订阅的所有频道都会被退订

redis一旦接受了一条订阅命令之后,就不能再接受下一条命令,订阅命令就是阻塞式的。只有强行退出Ctrl+C,重启客户端,才能输入别的命令。

发布命令

publish channel message :返回的整数表示接收到该消息的客户端总数。

1C:\Users\user>redis-cli 2127.0.0.1:6379> publish new.love "love forever" 3(integer) 0 4127.0.0.1:6379> publish new.* "hehe" 5(integer) 0 6127.0.0.1:6379> publish foo "food" 7(integer) 1 8127.0.0.1:6379> publish foo "food1" 9(integer) 3 10127.0.0.1:6379> publish foo "bibi" 11(integer) 3 12127.0.0.1:6379> publish foo "hiie" 13(integer) 2 14127.0.0.1:6379> publish foo "oooo" 15(integer) 1 16127.0.0.1:6379> publish aaaBB "shenjingbing" 17(integer) 1
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

前端面试系列——Vue面试题

Vue双向绑定原理mvvm双向绑定,采用数据劫持结合发布者订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter、getter,在数据变动时发布消息给订阅者,触发相应的监听回调。双

EventBus源码分析

一、        EventBus简介1.1、EventBusEventBus是一个Android事件发布/订阅框架,通过解耦发布者和订阅者简化Android事件传递,这里的事件可以理解为消息,本文中统一称为事件。事件传递既可用于Android四大组件间通讯,也可以用户异步线程和主线程间通讯等等。传统的事件

RabbitMQ之消息发布订阅与信息持久化技术

信息发布与订阅Rabbit的核心组件包含Queue(消息队列)和Exchanges两部分,Exchange的主要部分就是对信息进行路由,通过将消息队列绑定到Exchange上,则可以实现订阅形式的消息发布及Publish/Subscribe在这种模式下消息发布者只需要将信息发布到相应的Exchange中,而Ex

Redis发布订阅 - HelloWorld