redis高级



发布订阅

消息的格式

  • 推送消息的格式包含三部分
    • 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"

你可能感兴趣的:(redis)