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')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM