Redis管道 发布订阅
生活随笔
收集整理的這篇文章主要介紹了
Redis管道 发布订阅
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
管道(pipe):
redis-py默認在執行每次請求都會創建(連接池申請連接)和斷開(歸還連接池)一次連接操作,如果想要在一次請求中指定多個命令,則可以使用pipline實現一次請求指定多個命令。
代碼范例:
pool = redis.ConnectionPool(host='192.168.33.6', port=6379) r = redis.Redis(connection_pool=pool) pipe = r.pipeline(transaction=True)
print(r.get('name'), r.get('role')) pipe.set('name', 'alex') pipe.set('role', 'sb') pipe.execute() print(r.get('name'), r.get('role'))
# 輸出:
None None
alex sb
訂閱發布:只要有主播說話,所有收聽者都能聽到。
代碼范例:
import redisclass RedisHelper:def __init__(self):self.__conn = redis.Redis(host='192.168.33.6')self.chan_sub = 'fm104.5'self.chan_pub = 'fm104.5'def public(self, msg):self.__conn.publish(self.chan_pub, msg)return Truedef subscribe(self):pub = self.__conn.pubsub() # 打開收音機pub.subscribe(self.chan_sub) # 調頻道pub.parse_response() # 準備接收return pub訂閱者:
# -*- coding: utf-8 -*-from Redis_helper import RedisHelperobj = RedisHelper() redis_sub = obj.subscribe()while True:msg = redis_sub.parse_response()print(msg)
發送者:
# -*- coding: utf-8 -*-from Redis_helper import RedisHelperobj = RedisHelper() obj.public('hello')?
轉載于:https://www.cnblogs.com/fone933/p/8306457.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Redis管道 发布订阅的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mysql初始化root密码和允许远程访
- 下一篇: hdu 527 Necklace