Python redis 发布和订阅

Posted

tags:

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



发布和订阅

类似于RSS
发布者:服务器
订阅者:Dashboad和数据处理
看下面代码:
类文件名:monitor.py:

#!/usr/bin/python
# -*- coding: utf-8 -*-

__author__ = ‘gaogd‘

import redis

class RedisHelper:
    def __init__(self):
        self.__conn = redis.Redis(host=‘192.168.10.12‘, port=6379, password=‘wdzj2014‘)
        self.chan_sub = ‘fm250‘
        self.chan_pub = ‘fm250‘

    def public(self, msg):      ##  发送消息到fm250这个频道
        self.__conn.publish(self.chan_pub, msg)
        return True

    def subscribe(self):        ##订阅 (接受fm250这个频道的消息)
        pub=self.__conn.pubsub()
        pub.subscribe(self.chan_sub)
        pub.parse_response()
        return pub

订阅者文件名:subscriber.py

#!/usr/bin/python
# -*- coding: utf-8 -*-
__author__ = ‘gaogd‘
‘‘‘
订阅
‘‘‘
import sys,os
sys.path.append(os.path.dirname(__file__))
from redis_monitor import RedisHelper
obj = RedisHelper()
redis_sub = obj.subscribe()     ##订阅
while True:
    msg = redis_sub.parse_response()
    print(msg)

发布者文件名:publisher.py

#!/usr/bin/python
# -*- coding: utf-8 -*-
__author__ = ‘gaogd‘
‘‘‘
发布
‘‘‘
import sys,os
sys.path.append(os.path.dirname(__file__))
from redis_monitor import RedisHelper
obj = RedisHelper()
while True:
    content = raw_input(u‘请输入你要发布的内容:‘).strip()
    if content == ‘exit‘:
        break
    obj.public(content)    ## 发送内容
需要注意的是,输出的结果为列表,其中的元素均是字节的类型!


本文出自 “奋斗吧” 博客,转载请与作者联系!

以上是关于Python redis 发布和订阅的主要内容,如果未能解决你的问题,请参考以下文章

python:用Redis完成发布和订阅数据

基于redis(订阅发布)实现python和java进程间通信

python实现 redis订阅与发布

Python操作redis的订阅发布功能

Redis(十四)-Redis的发布订阅模式

python mitmdump抓包与redis订阅消息