當前位置:
首頁 > 最新 > python 實現redis訂閱發布功能

python 實現redis訂閱發布功能

redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字元串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。也能實現訂閱發布系統,我們來看看怎樣用redis和python結合起來進行訂閱發布的,

import redis

class RedisSubscri():

def __init__(self,host):

self.coon=redis.Redis(host="127.0.0.1")

def publish(self,message,channel):#發布

def subscribe(self,channel):#訂閱

pub.subscribe(channel)

pub.parse_response()

return pub

def unsubsceribe(self,channel):#取消訂閱

核心的代碼就是上面的 簡單封裝後就可以使用。

發布端redisd=RedisSubscri(host="127.0.0.1")

whileTrue: n=input("請輸入你要發布的頻道:") m=input("請輸入你要發布的消息:") redisd.publish(m,n)

訂閱端

fromdingyueimportRedisSubscri

if__name__=="__main__": resad= RedisSubscri(host="127.0.0.1") meaaag= resad.subscribe("1")

whileTrue:

print("監聽開始") meaaage=meaaag.parse_response()

print(meaaage[2].decode("utf-8"))

ifmeaaage[2].decode("utf-8")=="1": m=meaaag.unsubscribe("fm9.01")

print(m)

print("取消訂閱成功")

break

·

那麼我們來運行下,上述的代碼,看是否能夠實現登錄訂閱功能,並且實現退訂功能。

發布端:

訂閱端

我們在上面的代碼中定義了,當接受消息為1的時候,我們就取消訂閱,

取消訂閱後就無法訂閱系統的消息了,所以輸出來是None。

這樣就利用python 和redis實現了訂閱發布的功能


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷子說測試 的精彩文章:

TAG:雷子說測試 |