Valkey: 使用 Valkey 和 Python 的 Pub/Sub
本文件是使用 Python指南的一部分。請在此處查看完整指南:如何將 Valkey 與 Python 連接。
👋 歡迎來到 Stackhero 文件中心!
Stackhero 提供即時可用的 Valkey cloud 解決方案,帶來多項優勢,包括:
- 內建
Valkey Admin網頁管理介面。- 無限制的訊息大小與傳輸量。
- 一鍵輕鬆完成更新。
- 以專屬私有基礎架構提供最佳效能與強大安全性。
節省時間、簡化您的工作流程:只需 5 分鐘即可體驗 Stackhero 的 Valkey cloud hosting 解決方案!
在 Python 中利用 Valkey 的發布/訂閱(Pub/Sub)功能非常簡單。以下是一個範例:
import redis
# 連接到 Valkey
r = redis.from_url(
'rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>',
health_check_interval=10,
socket_connect_timeout=5,
socket_keepalive=True,
retry_on_timeout=True
)
# 創建一個 PubSub 實例
p = r.pubsub()
# 訂閱頻道 "test"
p.subscribe('test')
# 發布消息到頻道 "test"
r.publish('test', '這是一條測試消息')
# 從頻道 "test" 獲取第一條可用消息
p.get_message()
# 取消訂閱頻道 "test"
p.unsubscribe('test')
Valkey Pub/Sub 與 Python 的進階範例
使用這些進階範例擴展您的 Pub/Sub 功能:
# 創建一個 PubSub 實例並忽略訂閱消息
p = r.pubsub(ignore_subscribe_messages=True)
# 訂閱多個頻道
p.subscribe('test-1', 'test-2', ...)
# 取消訂閱多個頻道
p.unsubscribe('test-1', 'test-2', ...)
# 您也可以使用 "unsubscribe" 無參數來斷開所有訂閱頻道
p.unsubscribe()
# 使用模式訂閱頻道
p.psubscribe('my-*')
# 使用模式取消訂閱頻道
p.punsubscribe('my-*')