您的位置:首頁技術文章
文章詳情頁

SpringBoot如何整合redis實現過期key監聽事件

瀏覽:2日期:2023-04-24 13:29:48

可以用于簡單的過期訂單取消支付、7天自動收貨場景中

1、Spring Boot整合redis 參考

https://www.jb51.net/article/170687.htm

2、打開redis服務的配置文件添加notify-keyspace-events Ex 如果是注釋了,就取消注釋

SpringBoot如何整合redis實現過期key監聽事件

Linux安裝redis:https://www.jb51.net/article/193265.htm

Windows安裝redis:https://www.jb51.net/article/176040.htm

3、在redis配置類 @Configuration 添加如下內容

@Bean RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) { RedisMessageListenerContainer container = new RedisMessageListenerContainer(); container.setConnectionFactory(connectionFactory); return container; }

4、新建過期Key監聽

RedisKeyExpirationListener.java

import org.springframework.data.redis.connection.Message;import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;import org.springframework.data.redis.listener.RedisMessageListenerContainer;import org.springframework.stereotype.Component;@Componentpublic class RedisKeyExpirationListener extends KeyExpirationEventMessageListener { public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) { super(listenerContainer); } /** * 針對 redis 數據失效事件,進行數據處理 * * @param message * @param pattern */ @Override public void onMessage(Message message, byte[] pattern) { System.out.println('過期'+message.toString()); }}

使用方式

//把key放進redis中,并設置過期時間為三秒,也可以按照自己的寫法redisService.set(key,key, 3);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
国产综合久久一区二区三区