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

1      Publish / Subscribe 发布/订阅

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


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


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

2      example 实例演示

发布端:

import redis

#消息推送

import time
r = redis.StrictRedis(host="*****", port=6379, password="*****",db=1)
i = 0
while 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"]

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值