沃梦达 / IT编程 / 数据库 / 正文

Python&Redis 发布订阅

1、Redis控制台操作先开启一个Redis控制台开启订阅:SUBSCRIBE fm666返回参数解释:subscribe,表示订阅成功unsubscribe,表示取消订阅成功message,表示其它终端发布消息然后开启一个Redis控制台开始发布消息...

1、Redis控制台操作

先开启一个Redis控制台开启订阅:

SUBSCRIBE fm666

返回参数解释:
subscribe,表示订阅成功
unsubscribe,表示取消订阅成功
message,表示其它终端发布消息
然后开启一个Redis控制台开始发布消息:

PUBLISH fm666 "hello redis"

这是注意第一个订阅的Redis控制台会有相应的消息输出

2、Python操作Redis订阅发布

封装一个订阅发布的类

# redis_publish.py
import redis

class RedisHelper:
    def __init__(self):
        self.__conn = redis.Redis(host='111.231.135.184',port=6379)
        self.chan_sub = 'fm666'
        self.chan_pub = 'fm666'

    def public(self,msg):
        self.__conn.publish(self.chan_pub,msg)
        return True

    def subscribe(self):
        pub = self.__conn.pubsub() # 打开收音机
        pub.subscribe(self.chan_sub) # 调频道
        pub.parse_response() # 准备接收
        return pub

订阅端代码:

from redis_publish import RedisHelper

obj = RedisHelper()
redis_sub = obj.subscribe()

while True:
    msg = redis_sub.parse_response()
    print(msg)

'''
运行此程序后,在redis控制台 PUBLISH fm666 "hello redis" 
就会实时的输出
'''

本文标题为:Python&Redis 发布订阅