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
订阅者:
# -*- 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')