redis key過期監(jiān)聽的實現(xiàn)示例
更新時間:2024年03月19日 09:05:43 作者:劉小僧
在Redis中,我們可以為Key設置過期時間,當Key的過期時間到達后,Redis會自動將該Key標記為已失效,本文就來介紹一下redis key過期監(jiān)聽的實現(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相關配置
# redis 配置
redis:
# 地址
host: localhost
# 端口,默認為6379
port: 6379
# 數(shù)據(jù)庫索引
database: 0
# 密碼
password:
# 連接超時時間
timeout: 10s
lettuce:
pool:
# 連接池中的最小空閑連接
min-idle: 0
# 連接池中的最大空閑連接
max-idle: 8
# 連接池的最大數(shù)據(jù)庫連接數(shù)
max-active: 8
# #連接池最大阻塞等待時間(使用負值表示沒有限制)
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對應的value值的。
String expireKey = message.toString();
try {
if (!StringUtils.isEmpty(expireKey)) {
//具體處理邏輯......
}
} catch (Exception e) {
e.printStackTrace();
}
}
}到此這篇關于redis key過期監(jiān)聽的解決方法的文章就介紹到這了,更多相關redis key過期監(jiān)聽內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解redis在服務器linux下啟動的相關命令(安裝和配置)
這篇文章主要介紹了redis在服務器linux下的啟動的相關命令(安裝和配置),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08
詳解Redis中的BigKey如何發(fā)現(xiàn)和處理
這篇文章主要為大家詳細介紹了Redis中的BigKey如何發(fā)現(xiàn)和處理,文中給大家詳細講解了BigKey危害和如何解決這些問題,文章通過代碼示例和圖文介紹的非常詳細,需要的朋友可以參考下2023-10-10
Redis?鍵值對(key-value)數(shù)據(jù)庫實現(xiàn)方法
Redis 的鍵值對中的 key 就是字符串對象,而 value 可以是字符串對象,也可以是集合數(shù)據(jù)類型的對象,比如 List 對象,Hash 對象、Set 對象和 Zset 對象,這篇文章主要介紹了Redis?鍵值對數(shù)據(jù)庫是怎么實現(xiàn)的,需要的朋友可以參考下2024-05-05

