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)    ## 发送内容
需要注意的是,输出的结果为列表,其中的元素均是字节的类型!
相关文章
相关标签/搜索