我在想redis中是否有一個特性讓我得到所有過期的密鑰(我的意思是某種事件,這讓我有機會收回所有過期的記錄)。它的目的是將舊值保存到另一個數據庫中。我聽說可以使用發佈機制,但谷歌無法幫助我們這個想法。密鑰過期事件
Q
密鑰過期事件
15
A
回答
18
當前的開發版本的redis包含一項新功能:密鑰空間通知。文檔:http://redis.io/topics/notifications
Keyspace通知允許客戶訂閱Pub/Sub通道,以便以某種方式接收影響Redis數據集的事件。這是可能的接收有以下事件
例子:
- 所有影響到某個鍵的命令。
- 接收LPUSH操作的所有密鑰。
- 數據庫中的所有到期的0.1
希望的鑰匙,它很快就會使其穩定。
順便說一句,它不會幫助您保存過期密鑰的值非常有用。當到期事件被觸發時,該值已經消失。
9
由密鑰空間通知生成的內置過期事件不準確。見一起生活相關的兩種方式是通過Redis的過期時間http://redis.io/topics/notifications
鍵的最後一節:
當密鑰由命令訪問,發現過期。
通過後臺系統,在後臺查找過期密鑰, 遞增,以便還能夠收集從未訪問過的密鑰 。
當一個鍵被訪問和 發現由上述系統中的一個過期生成呼出事件,其結果是有 不能保證Redis的服務器將能夠產生 在關鍵時間到達 零的時間到期事件。如果沒有命令持續關注密鑰,並且存在多個與TTL關聯的密鑰,則密鑰生存時間下降到零的時間與生成到期的 事件的時間之間可能存在顯着延遲。
要完全實現accrue過期事件,您可能必須自行實施。例如,通過使用按到期時間排序的排序列表(或AVL樹),並連續讀取列表尾部(排隊)。如果讀者發現到期時間還沒有到達,它會休眠(到期時間 - 現在)。通過這種方式,精度可以控制在10毫秒以內。
1
使用redis-scheduler
。
你可以找到它here
相關問題
- 1. Redisson捕獲密鑰到期事件
- 2. 密鑰的Memcached過期
- 3. Spring Data Redis過期密鑰
- 4. redis如何過期密鑰?
- 5. 事件應用密鑰
- 6. Java密鑰新聞事件
- 7. Memcache getItemCount()計算過期的密鑰?
- 8. Redis在大型密鑰集上過期
- 9. Redis的KEYSPACE聲明和密鑰過期
- 10. 基於Django密鑰的會話過期
- 11. 回收Redis中的過期密鑰
- 12. 密鑰庫在5個月後過期
- 13. 爲什麼REDIS密鑰持續過期?
- 14. 程序集簽名密鑰已過期
- 15. Android開發者 - 簽名密鑰過期
- 16. Facebooker Gem會話密鑰已過期
- 17. Java密鑰庫超過30年到期
- 18. 在redis中過期的密鑰
- 19. 試圖刷新'過期'密鑰庫
- 20. 通過密鑰
- 21. Tkinter <Return>密鑰發佈事件
- 22. Python從終端檢測'密鑰'事件
- 23. 輸入密鑰的Datagridview事件
- 24. JNativeHook發佈本機密鑰事件
- 25. 區分已過期的PGP子密鑰與永不過期的PGP子密鑰 - Java bouncycastle
- 26. MapReduce跳過密鑰?
- 27. 通過密鑰庫
- 28. 在多方加密方案中過期的密鑰子集
- 29. Appfabric過期事件
- 30. 反應事件:獲取密鑰並防止事件傳播
它不是上述評論的鏈接相同。那個是關於會議的。這篇文章是關於易失性密鑰。 – akonsu