发布订阅
消息的格式
- 推送消息的格式包含三部分
- subscribe : 表示订阅成功
- unsubscribe : 取消订阅成功
- message : 表示其他终端发布消息
- 如果第一部分为subscribe,第二部分是频道,第三部分是现在订阅的频道的数量
- 如果第一部分为unsubscribe,第二部分是频道,第三部分是现在订阅的频道的数量,
- 如果为0,表示当前没有订阅任何频道,当在Pub/Sub以外状态,客户端可以发出任何redis命令
- 如果第一部分为message,第二部分是来源频道的名称,第三部分是消息的内容
命令
- 订阅
subscribe 频道
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> keys *
1) "py5"
2) "py6"
3) "py7"
127.0.0.1:6379> subscribe py111
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "py111"
3) (integer) 1
等待接收消息....
- 取消订阅
- 如果不写参数,取消所有订阅
unsubscribe 频道
与python交互
- 通过管道写入
from redis import *
r = StrictRedis(host='localhost',port=6379)
pipe = r.pipeline()
pipe.set('py10','hello1')
pipe.set('py11','world')
# 一次性交互
pipe.execute()
- 读取
temp = r.get('py10')
print temp
终端
127.0.0.1:6379> keys *
1) "py5"
2) "py6"
3) "py7"
127.0.0.1:6379> keys *
1) "py5"
2) "py6"
3) "py10"
4) "py7"
5) "py11"
127.0.0.1:6379> get py10
"hello1"
127.0.0.1:6379> get py11
"world"