一、Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
Redis 客户端可以订阅任意数量的频道。
下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:
二、当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:
一、redis客户端接收消息
import redis
rc = redis.Redis(host='host', password='pwas', port=6379, db=3, decode_responses=True)
ps = rc.pubsub()
ps.subscribe(['weibo_hot', 'hupu_hot'])
for item in ps.listen():
if item['type'] == 'message' and item['channel'] == 'weibo_hot':
print(item)
hupu_plate_hot()
二、redis 发布消息
import redis
rc = redis.Redis(host='host', password='pas', port=6379, db=3)
rc.publish('weibo_hot', 'https://s.weibo.com/top/summary')
rc.publish('hupu_hot', 'https://www.baidu.com/')