管道&发布订阅
管道-事务
默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求指定多个命令,并且支持事务。
import redis
pool = redis.ConnectionPool(host='公网ip', port=6379, password='redis密码')
r = redis.Redis(connection_pool=pool)
pipe = r.pipeline(transaction=True) # 指定开启事务
pipe.set('first', 100) # 管道内放第一个元素
pipe.set('second', 200) # 管道内放第二个元素
pipe.execute() # 确认执行的操作,只有确认了才写入数据库
发布订阅
应用于时时聊天系统或者粉丝关注,明星发明微博,粉丝们时时收到消息的情况。
发布者
import redis
pool = redis.ConnectionPool(host='公网ip', port=6379, password='redis密码')
r = redis.Redis(connection_pool=pool)
r.publish("fm104.5", "Hi,yuan!") # 向 ‘频道内’发布消息
订阅者
import redis
pool = redis.ConnectionPool(host='公网ip', port=6379, password='redis密码')
r = redis.Redis(connection_pool=pool)
pub = r.pubsub() # 订阅对象
pub.subscribe("fm104.5") # 订阅一个频道的意思,即监听某个name
pub.parse_response() # 解析响应内容
while 1:
msg = pub.parse_response() # 解析影响内容
print(msg)

浙公网安备 33010602011771号