学习redis的订阅/发布
2017-12-08 00:00
309 查看
摘要: Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
Redis 客户端可以订阅任意数量的频道。
练习:
1.首先订阅名为“redisChannel”的通道:
命令为: subscribe channel
publish channel message
2.然后新建一个客户端,往redisChannel通道发消息
3.尝试同时订阅多个通道channel,
4.pubsub 查看所有订阅情况
5.psubscribe --订阅给定模式的一个或多个channel
6.unsubscribe 退订通道
7.punsubscribe 退订指定模式的通道
Redis 客户端可以订阅任意数量的频道。
练习:
1.首先订阅名为“redisChannel”的通道:
命令为: subscribe channel
publish channel message
➜ ~ redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379> subscribe redisChannel Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "redisChannel" 3) (integer) 1 1) "message" 2) "redisChannel" 3) "Today is Friday" 1) "message" 2) "redisChannel" 3) "\xe5\x85\xb3\xe5\x85\xb3" 1) "message" 2) "redisChannel" 3) "gholly"
2.然后新建一个客户端,往redisChannel通道发消息
➜ ~ redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379> publish redisChannel "Today is Friday" (integer) 1 127.0.0.1:6379> publish redisChannel "关关" (integer) 1 127.0.0.1:6379> publish redisChannel "gholly" (integer) 1 127.0.0.1:6379>
3.尝试同时订阅多个通道channel,
127.0.0.1:6379> subscribe channel3 hh guanguan #表示订阅了guanguan hh channel3这3个通道 Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "channel3" 3) (integer) 1 1) "subscribe" 2) "hh" 3) (integer) 2 1) "subscribe" 2) "guanguan" 3) (integer) 3 1) "message" 2) "channel3" 3) "I am channel3" 1) "message" 2) "hh" 3) "I am hh" 1) "message" 2) "guanguan" 3) "I am guanguan" -------------------- 127.0.0.1:6379> publish channel3 "I am channel3" #分别向这个3个通道发消息 (integer) 1 127.0.0.1:6379> publish hh "I am hh" (integer) 1 127.0.0.1:6379> publish guanguan "I am guanguan" (integer) 1 127.0.0.1:6379> publish gholly "I am gholly" (integer) 0 127.0.0.1:6379> 两者可通信,可利用redis的订阅发布功能进行消息的即时推送功能
4.pubsub 查看所有订阅情况
127.0.0.1:6379> pubsub channels 1) "guanguan" 2) "hh" 3) "channel3"
5.psubscribe --订阅给定模式的一个或多个channel
127.0.0.1:6379> psubscribe gg.* --是指订阅以gg.开头的channel Reading messages... (press Ctrl-C to quit) 1) "psubscribe" 2) "gg.*" 3) (integer) 1 1) "pmessage" 2) "gg.*" 3) "gg." 4) "hhhhh" 1) "pmessage" 2) "gg.*" 3) "gg.hf" 4) "hhhhh" ---发布 127.0.0.1:6379> publish gg "hhhhh" (integer) 0 127.0.0.1:6379> publish gg. "hhhhh" (integer) 1 127.0.0.1:6379> publish gg.hf "hhhhh" (integer) 1 127.0.0.1:6379>
6.unsubscribe 退订通道
127.0.0.1:6379> unsubscribe hh 1) "unsubscribe" 2) "hh" 3) (integer) 0
7.punsubscribe 退订指定模式的通道
127.0.0.1:6379> punsubscribe gg.* 1) "punsubscribe" 2) "gg.*" 3) (integer) 0
相关文章推荐
- 发布与订阅消息--Redis学习笔记八
- Redis 学习(三) —— 事务、消息发布订阅
- Redis 学习笔记(一):安装配置、发布订阅与事务
- 【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
- 六 redis学习笔记之发布订阅
- 结合redis设计与实现的redis源码学习-17-发布与订阅(pubsub.c)
- Redis缓存技术学习系列之发布订阅
- Redis学习10——消息订阅与发布
- redis学习笔记 发布与订阅
- redis学习笔记:发布和订阅
- Redis学习笔记8--Redis发布/订阅
- 发布与订阅消息--Redis学习笔记八
- Redis系列学习笔记10 发布与订阅
- Redis学习笔记(八)--频道发布和消息订阅
- Redis基础学习--Redis 事务(watch命令)、生存时间、排序、消息通知("发布/订阅"模式)、管道、节省空间
- Redis 学习之持久化机制、发布订阅、虚拟内存
- redis 学习手册之发布和订阅pubsub操作
- 六 redis学习笔记之发布订阅
- Redis学习笔记8--Redis发布/订阅
- Redis学习-发布/订阅