Python Redis 发布订阅

  • 发布者:服务器
  • 订阅者:Dashboad和数据处理

 

频道主逻辑

import redis

class RedisHelper:

    def __init__(self):
        # 链接服务端
        self.__conn = redis.Redis(host='192.168.1.110')

        # 加入两个频道
        self.chan_sub = 'fm104.5'
        self.chan_pub = 'fm104.5'

    def public(self, msg):
        #发消息订阅方
        # publish发消息加入频道chan_pub
        self.__conn.publish(self.chan_pub, msg)
        return True

    def subscribe(self):
        # 开始订阅pubsub()
        # 打开收音机
        pub = self.__conn.pubsub()

        # 调频道 subscribe
        pub.subscribe(self.chan_sub)

        # 准备接收parse_response()
        # 在次调用parse_response() 开始接收
        pub.parse_response()

        # 返回订阅变量
        return pub
View Code

 

订阅者:

# -*- coding:utf-8 -*-
# 调用shelper
from redis_shelper import RedisHelper

# 实例化RedisHelper类对象
obj = RedisHelper()

# 赋值订阅变量
redis_sub = obj.subscribe()

# 循环执行如下命令
while True:
    # 二次调用parse_response() 开始接收
    msg= redis_sub.parse_response()
    print(msg)

 

发布者:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
 
#调用逻辑模块
from redis_shelper import RedisHelper
 
# 实例化对象
obj = RedisHelper()

# 发消息加入频道
obj.public('hello')

 

posted @ 2018-01-18 20:03  kevin.Xiang  阅读(2974)  评论(0编辑  收藏  举报