使用redis pub/sub 时间订阅与发布消息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用redis pub/sub 时间订阅与发布消息相关的知识,希望对你有一定的参考价值。

import redis
import time

r=redis.StrictRedis(host="127.0.0.1",port=6379)
#你也可以选择使用地址池的方式建立连接

while True:
  if __name__=__main__:
    dis=Get_Distance()
    p=r.publish()
    p.subscribe("first channel") #订阅

    r.publish("first channel",dis) #发布(调用了Get_Distance 函数)
    p.get_message()
    time.sleep(0.5) #在网络状态不佳时,若挂起时间太短则返回值为None
    a=p.get_message()
    print a     

此处我把 public 同 subscribe 放在同一个函数中运行。

测试结果:

技术分享

 

此外,这只是可以读出订阅后收到的消息。程序若要对消息进行处理,则需要使用回调函数。

 

运行环境:

python-2.7

Ubuntu 16.4

以上是关于使用redis pub/sub 时间订阅与发布消息的主要内容,如果未能解决你的问题,请参考以下文章

redis源码阅读-发布与订阅pub/sub

redis源码阅读-发布与订阅pub/sub

redis之pub/sub(发布与订阅)

Redis学习笔记8:Redis发布订阅(pub/sub)

Redis学习笔记8:Redis发布订阅(pub/sub)

Redis学习笔记8:Redis发布订阅(pub/sub)