概述
鍵空間通知使得客戶端可以通過訂閱頻道或模式, 來接收那些以某種方式改動了 redis 資料集的事件。如redis資料庫中鍵的過期事件也是通過訂閱功能實現。本文主要基於azure paas redis演示相關功能的具體實現。配置
因為開啟鍵空間通知功能需要消耗一些 cpu , 所以在預設配置下, 該功能處於關閉狀態。因為azure redis遮蔽了部分指令,不能直接使用cli指令設定notify-keyspace-events引數,目前可以通過azure portal管理門戶直接設定。注意: 基本版的redis還不支援設定該引數。操作演示
pub/sub
sub expired key event
注意
redis 使用以下兩種方式刪除過期的鍵:1、當乙個鍵被訪問時,程式會對這個鍵進行檢查,如果鍵已經過期,那麼該鍵將被刪除。
2、底層系統會在後台漸進地查詢並刪除那些過期的鍵,從而處理那些已經過期、但是不會被訪問到的鍵。
當過期鍵被以上兩個程式的任意乙個發現、 並且將鍵從資料庫中刪除時, redis 會產生乙個 expired 通知。參考鏈結
鍵空間通知(keyspace notification)
redis過期通知
Redis Key 過期策略
redis 官方提供的 conf 中6中過期策略的具體方式。redis 中的預設的過期策略是volatile lru 設定方式 config set maxmemory policy volatile lru maxmemory policy 六種方式 volatile lru 只對設定了過期時間的...
redis key 的過期策略
redis的key有3種過期刪除策略,具體如下 缺點 對cpu時間不友好,如果過期的key比較多時,可能會占用相當一部分cpu時間,對伺服器的響應時間和吞吐量造成影響 redis伺服器實際使用的是惰性刪除和定期刪除兩種策略 通過配合使用這兩種刪除策略,伺服器可以很好地在合理使用cpu時間和避免浪費記...
《轉》redis key過期事件實現過期提醒
redis自2.8.0之後版本提供 keyspace notifications 功能,允許客戶訂閱pub sub頻道,以便以某種方式接收影響redis資料集的事件。可能收到的事件的例子如下 所有影響給定鍵的命令。所有接收lpush操作的金鑰。所有金鑰在資料庫中過期0。因為 redis 目前的訂閱與...