1. 程式人生 > >Python&Redis 釋出訂閱

Python&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" 
就會實時的輸出
'''