python 实现简单的redis 消息订阅推送

来源:互联网 发布:js设置背景颜色 编辑:程序博客网 时间:2024/06/15 14:36

1      Publish / Subscribe 发布/订阅

  Redis 的 SUBSCRIBE 命令可以让客户端订阅任意数量的频道,每当有新信息发送到被订阅的频道时, 信息就会被发送给所有订阅指定频道的客户端。
作为例子, 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:


  wKiom1YA_fXBxAfTAACOStBsWVA333.jpg                            当有新消息通过 PUBLISH 命令发送给频道channel1 时, 这个消息就会被发送给订阅它的三个客户端:


wKioL1YBAFDxQWn8AADryhaLEVg140.jpg 上面描述了订阅与发布的关系。

2      example 实例演示

发布端:

import redis#消息推送import timer = redis.StrictRedis(host="*****", port=6379, password="*****",db=1)i = 0while True:    i += 1    r.publish("first channel", "the i is " + str(i))    print("the i is " + str(i))    time.sleep(1)

订阅端:

import redis,time#消息订阅r = redis.StrictRedis(host="****", port=6379, password="****",db=1)p = r.pubsub()p.subscribe("first channel")while True:    message = p.listen()    for i in message:        if i["type"] == 'message':            print i["data"]

原创粉丝点击