Redis過期通知


一、鍵空間通知Keyspace Notifications

 1. redis 2.8.0版本之后才支持

2. 基於pub-sub

3. 消息類型:keysapce/keyevent

 

二、場景

1. redis緩存一般要設置過期時間,否則會越來越多,但是如果緩存還有用,可以使用過期提醒來重新加載緩存

2. 過期時需要做一些邏輯處理

 

三、redis配置文件

修改redis.conf,設置notify-keyspace-events Ex,默認為notify-keyspace-events "" ,修改后重啟redis

 

四、監聽命令

psubscribe __keyevent@0__:expired  //監聽第0個數據庫

psubscribe __keyevent@*__:expired  //監聽所有數據庫

 

五、關鍵代碼

1. 寫一個類繼承JedisPubSub

class RedisMsgPubSubListener extends JedisPubSub

2. 客戶端監聽

RedisMsgPubSubListener listener = new RedisMsgPubSubListener();  
jedis.subscribe(listener, "__keyevent@0__:expired"); //subscribe是阻塞方法

 

 

 

參考:

https://blog.csdn.net/weixin_41497481/article/details/85322794

https://blog.csdn.net/zhu_tianwei/article/details/80169900

https://www.cnblogs.com/ruiati/p/6655949.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM