簡體   English   中英

Redis鍵空間通知-獲取鍵和值更改

[英]Redis keyspace notifications - get both key and value change

通過以以下方式啟動服務器,我可以在redis中接收鍵更改發布-訂閱通知:

./redis-server --notify-keyspace-events KEA

然后只需運行以下腳本:

import redis
connection = redis.StrictRedis()
pubsub = connection.pubsub()

pubsub.subscribe("__keyspace@0__:my_key")

在單獨的偵聽器線程中。 收到的消息如下所示:

{'pattern': None, 'type': 'message', 'channel': '__keyspace@0__:my_key', 'data': 'set'}

我想在消息中看到的是更新的“鍵” 相應的“值”。 如何通過pubsub獲得新值?

第二個問題:如何獲得所有“關鍵”更新。 我嘗試了這個:

pubsub.subscribe("__keyspace@0__:*")

但不幸的是它沒有退還任何東西。

這是入門的很好參考: Redis鍵空間事件未觸發

鍵空間通知報告該值,只有鍵的名稱和/或執行的命令包含在已發布的消息中。

這樣做的主要基礎是Redis值可能會變得很大。

如果您真的真的需要這種行為,那實際上很容易。 因為鍵空間通知使用的是PUBLISH /訂閱消息,所以您只需在執行每個相關操作后使用自己感興趣的信息來調用PUBLISH

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM