亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot監(jiān)聽Redis key失效事件的實現(xiàn)代碼

 更新時間:2024年02月20日 11:11:11   作者:是阿洋啊  
這篇文章給大家介紹了SpringBoot實現(xiàn)監(jiān)聽Redis key失效事件的方法,文中通過代碼示例給大家講解的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下

一. 開啟Redis key過期提醒

  • 方式一:修改配置文件

    redis.conf

# 默認(rèn) notify-keyspace-events ""
notify-keyspace-events Ex
  • 方式二:命令行開啟
CONFIG SET notify-keyspace-events Ex
CONFIG GET notify-keyspace-events

二. notify-keyspace-events

notify-keyspace-events 選項的默認(rèn)值為空

notify-keyspace-events 的參數(shù)可以是以下字符的任意組合, 它指定了服務(wù)器該發(fā)送哪些類型的通知。

字符發(fā)送的通知
K鍵空間通知,所有通知以 keyspace@ 為前綴
E鍵事件通知,所有通知以 keyevent@ 為前綴
gDEL 、 EXPIRE 、 RENAME 等類型無關(guān)的通用命令的通知
$字符串命令的通知
l列表命令的通知
s集合命令的通知
h哈希命令的通知
z有序集合命令的通知
x過期事件:每當(dāng)有過期鍵被刪除時發(fā)送
e驅(qū)逐(evict)事件:每當(dāng)有鍵因為 maxmemory 政策而被刪除時發(fā)送
A參數(shù) g$lshzxe 的別名

三. Coding

  • 初始化一個Spring Boot項目

  • pom.xml

<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-data-redis</artifactId>
	</dependency>
	<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
	</dependency>
</dependencies>
  • 定義配置類`RedisListenerConfig
@Configuration
public class RedisListenerConfig {

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

}
  • 定義監(jiān)聽器 實現(xiàn)KeyExpirationEventMessageListener接口
    查看源碼發(fā)現(xiàn),該接口監(jiān)聽所有db的過期事件keyevent@*:expired"定義Status1ExpirationListener監(jiān)聽狀態(tài)1到期
@Slf4j
@Component
public class Status1ExpirationListener extends KeyExpirationEventMessageListener {

	public Status1ExpirationListener(RedisMessageListenerContainer listenerContainer) {
		super(listenerContainer);
	}

	@Autowired
	private StringRedisTemplate stringRedisTemplate;

	@Override
	public void onMessage(Message message, byte[] pattern) {
		// message.toString()可以獲取失效的key
		String expiredKey = message.toString();
		// 業(yè)務(wù)處理
	}

}

定義Status2ExpirationListener監(jiān)聽狀態(tài)2到期

@Slf4j
@Component
public class Status2ExpirationListener extends KeyExpirationEventMessageListener {

	public Status2ExpirationListener(RedisMessageListenerContainer listenerContainer) {
		super(listenerContainer);
	}

	@Override
	public void onMessage(Message message, byte[] pattern) {
		// message.toString()可以獲取失效的key
		String expiredKey = message.toString();
		// 業(yè)務(wù)處理
	}

}

四. 參考

Redis keyspace notifications

以上就是SpringBoot實現(xiàn)監(jiān)聽Redis key失效事件的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot監(jiān)聽Redis key的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • IntelliJ IDEA中如何構(gòu)建Spring Boot的項目

    IntelliJ IDEA中如何構(gòu)建Spring Boot的項目

    這篇文章主要介紹了IntelliJ IDEA中如何構(gòu)建Spring Boot的項目問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • java 關(guān)鍵字super詳解及用法

    java 關(guān)鍵字super詳解及用法

    這篇文章主要介紹了java 關(guān)鍵字super詳解及用法的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Mybatis初始化知識小結(jié)

    Mybatis初始化知識小結(jié)

    Mybatis的初始化過程就是加載自己運行時所需要的配置信息的過程,這篇文章主要介紹了Mybatis初始化知識小結(jié),需要的朋友可以參考下
    2021-10-10
  • Spring Boot中使用RabbitMQ 生產(chǎn)消息和消費消息的實例代碼

    Spring Boot中使用RabbitMQ 生產(chǎn)消息和消費消息的實例代碼

    本文介紹了在SpringBoot中如何使用RabbitMQ進(jìn)行消息的生產(chǎn)和消費,詳細(xì)闡述了RabbitMQ中交換機的作用和類型,包括直連交換機、主題交換機、扇出交換機和頭交換機,并解釋了各自的消息路由機制,感興趣的朋友一起看看吧
    2024-10-10
  • Java通過HttpClient進(jìn)行HTTP請求的代碼詳解

    Java通過HttpClient進(jìn)行HTTP請求的代碼詳解

    Apache?HttpClient是一個功能強大且廣泛使用的Java庫,它提供了方便的方法來執(zhí)行HTTP請求并處理響應(yīng)。本文將介紹如何使用HttpClient庫進(jìn)行HTTP請求,包括GET請求、POST請求、添加參數(shù)和請求體、設(shè)置請求頭等操作,需要的朋友可以參考下
    2023-05-05
  • Java調(diào)用Shell命令的方法

    Java調(diào)用Shell命令的方法

    這篇文章主要介紹了Java調(diào)用Shell命令的方法,實例分析了java調(diào)用shell命令的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • SpringBoot3整合Mybatis完整版實例

    SpringBoot3整合Mybatis完整版實例

    本文詳細(xì)介紹了SpringBoot3整合MyBatis的完整步驟,包括添加數(shù)據(jù)庫驅(qū)動和MyBatis依賴、配置數(shù)據(jù)源和MyBatis、創(chuàng)建表和Bean類、編寫Mapper接口和XML文件、創(chuàng)建Controller類以及配置掃描包,通過這些步驟,可以實現(xiàn)SpringBoot3與MyBatis的成功整合,并進(jìn)行功能測試
    2025-01-01
  • Spring中Properties的配置方式

    Spring中Properties的配置方式

    這篇文章主要介紹了Spring中Properties的配置方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • Java?NIO緩沖區(qū)Buffer基礎(chǔ)教程示例

    Java?NIO緩沖區(qū)Buffer基礎(chǔ)教程示例

    這篇文章主要介紹了Java?NIO緩沖區(qū)Buffer基礎(chǔ)教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • 在Java中輕松使用工廠設(shè)計模式介紹

    在Java中輕松使用工廠設(shè)計模式介紹

    這篇文章主要介紹了在Java中輕松使用工廠設(shè)計模式介紹,工廠設(shè)計模式或工廠方法設(shè)計模式是一種廣泛使用且易于理解的設(shè)計模式,文章通過圍繞主題展開詳細(xì)的內(nèi)容介紹,感興趣的朋友可以參考一下
    2022-09-09

最新評論