延時佇列有多種實現方式,可以使用mq來實現,也可以通過redis key過期事件監聽來實現。
下面就來乙個redis key過期事件監聽的demo.
1.先引入redis的依賴。
spring-boot-starter-data-redis
org.springframework.boot
2.配置redis***
@configuration
public class redisconfig
}
3.實現監聽處理邏輯
@component
@slf4j
public class rediskeyexpirationlistener extends keyexpirationeventmessagelistener
@override
public void onmessage(message message, byte pattern) ", expiredkey);}}
4.新增乙個有過期時間的key
2020-07-24 09:50:25.220 info 924 --- [ container-2] c.e.d.config.rediskeyexpirationlistener : expiredkey:a
我們需要在onmessage方法裡面實現自己的業務邏輯。 《轉》redis key過期事件實現過期提醒
redis自2.8.0之後版本提供 keyspace notifications 功能,允許客戶訂閱pub sub頻道,以便以某種方式接收影響redis資料集的事件。可能收到的事件的例子如下 所有影響給定鍵的命令。所有接收lpush操作的金鑰。所有金鑰在資料庫中過期0。因為 redis 目前的訂閱與...
Redis Key 過期策略
redis 官方提供的 conf 中6中過期策略的具體方式。redis 中的預設的過期策略是volatile lru 設定方式 config set maxmemory policy volatile lru maxmemory policy 六種方式 volatile lru 只對設定了過期時間的...
Redis Key過期通知
概述 鍵空間通知使得客戶端可以通過訂閱頻道或模式,來接收那些以某種方式改動了 redis 資料集的事件。如redis資料庫中鍵的過期事件也是通過訂閱功能實現。本文主要基於azure paas redis演示相關功能的具體實現。配置因為開啟鍵空間通知功能需要消耗一些 cpu 所以在預設配置下,該功能處...