redis key過期監(jiān)聽的實(shí)現(xiàn)示例
更新時(shí)間:2024年03月19日 09:05:43 作者:劉小僧
在Redis中,我們可以為Key設(shè)置過期時(shí)間,當(dāng)Key的過期時(shí)間到達(dá)后,Redis會自動將該Key標(biāo)記為已失效,本文就來介紹一下redis key過期監(jiān)聽的實(shí)現(xiàn)示例,感興趣的可以了解一下
1、pom.xml文件中添加redis依賴
<!-- redis 緩存操作 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2、application.yml文件中添加redis相關(guān)配置
# redis 配置
redis:
# 地址
host: localhost
# 端口,默認(rèn)為6379
port: 6379
# 數(shù)據(jù)庫索引
database: 0
# 密碼
password:
# 連接超時(shí)時(shí)間
timeout: 10s
lettuce:
pool:
# 連接池中的最小空閑連接
min-idle: 0
# 連接池中的最大空閑連接
max-idle: 8
# 連接池的最大數(shù)據(jù)庫連接數(shù)
max-active: 8
# #連接池最大阻塞等待時(shí)間(使用負(fù)值表示沒有限制)
max-wait: -1ms
3、redis配置類RedisConfig中注冊Bean–RedisMessageListenerContainer
@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport
{
/**
* redis key 過期事件訂閱需要
* @param redisConnectionFactory
* @return
*/
@Bean
public RedisMessageListenerContainer redisMessageListenerContainer(RedisConnectionFactory redisConnectionFactory) {
RedisMessageListenerContainer container = new RedisMessageListenerContainer();
container.setConnectionFactory(redisConnectionFactory);
return container;
}
}
4、自定義redis key過期監(jiān)聽器,繼承KeyExpirationEventMessageListener類
@Component
public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener {
@Autowired
private StringRedisTemplate stringRedisTemplate;
public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) {
super(listenerContainer);
}
@Override
public void onMessage(Message message, byte[] pattern) {
//注意:只能獲取失效的key值,獲取不到key對應(yīng)的value值的。
String expireKey = message.toString();
try {
if (!StringUtils.isEmpty(expireKey)) {
//具體處理邏輯......
}
} catch (Exception e) {
e.printStackTrace();
}
}
}到此這篇關(guān)于redis key過期監(jiān)聽的解決方法的文章就介紹到這了,更多相關(guān)redis key過期監(jiān)聽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
- Redis集群下過期key監(jiān)聽的實(shí)現(xiàn)代碼
- Redis過期Key刪除策略和內(nèi)存淘汰策略的實(shí)現(xiàn)
- Redis通過scan查找不過期的 key(方法詳解)
- Redis刪除過期key策略詳解
- Redis監(jiān)聽過期的key實(shí)現(xiàn)流程詳解
- redis?key鍵過期刪除策略及淘汰機(jī)制探究
- Redis中key過期策略的實(shí)現(xiàn)
- Redis?key的過期時(shí)間和永久有效的實(shí)現(xiàn)
- Redis設(shè)置key的過期時(shí)間
- redis監(jiān)聽key過期事件的詳細(xì)步驟
- Redis Key過期刪除策略使用小結(jié)
相關(guān)文章
詳解redis在服務(wù)器linux下啟動的相關(guān)命令(安裝和配置)
這篇文章主要介紹了redis在服務(wù)器linux下的啟動的相關(guān)命令(安裝和配置),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08
Redis實(shí)現(xiàn)延遲隊(duì)列的項(xiàng)目示例
延遲隊(duì)列是Redis的一個(gè)重要應(yīng)用場景,本文主要介紹了Redis實(shí)現(xiàn)延遲隊(duì)列的項(xiàng)目示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06
詳解Redis中的BigKey如何發(fā)現(xiàn)和處理
這篇文章主要為大家詳細(xì)介紹了Redis中的BigKey如何發(fā)現(xiàn)和處理,文中給大家詳細(xì)講解了BigKey危害和如何解決這些問題,文章通過代碼示例和圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10
Redis動態(tài)字符串SDS的實(shí)現(xiàn)
SDS在Redis中是實(shí)現(xiàn)字符串對象的工具,本文主要介紹了Redis動態(tài)字符串SDS的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11
Redis實(shí)現(xiàn)分頁+多條件模糊查詢的組合方案
在大多數(shù)業(yè)務(wù)里,分頁和模糊查詢本身是再普通不過的需求,Redis 是一個(gè) key-value 形態(tài)的內(nèi)存數(shù)據(jù)庫,要在 Redis 里同時(shí)滿足分頁和多條件模糊匹配,必須自己用數(shù)據(jù)結(jié)構(gòu)拼裝,因此本文給大家介紹了Redis實(shí)現(xiàn)分頁+多條件模糊查詢的一套完整可落地組合方案2026-06-06
Redis?鍵值對(key-value)數(shù)據(jù)庫實(shí)現(xiàn)方法
Redis 的鍵值對中的 key 就是字符串對象,而 value 可以是字符串對象,也可以是集合數(shù)據(jù)類型的對象,比如 List 對象,Hash 對象、Set 對象和 Zset 對象,這篇文章主要介紹了Redis?鍵值對數(shù)據(jù)庫是怎么實(shí)現(xiàn)的,需要的朋友可以參考下2024-05-05

