最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

一. 開啟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 選項(xiàng)的默認(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)有過期鍵被刪除時(shí)發(fā)送
e驅(qū)逐(evict)事件:每當(dāng)有鍵因?yàn)?maxmemory 政策而被刪除時(shí)發(fā)送
A參數(shù) g$lshzxe 的別名

三. Coding

  • 初始化一個(gè)Spring Boot項(xiàng)目

  • 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)聽器 實(shí)現(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實(shí)現(xiàn)監(jiān)聽Redis key失效事件的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot監(jiān)聽Redis key的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Mybatis之@MapKey的實(shí)現(xiàn)

    Mybatis之@MapKey的實(shí)現(xiàn)

    本文介紹了Mybatis中@MapKey注解的使用場(chǎng)景與效果,包含使用@MapKey和不使用@MapKey注解的區(qū)別,然后通過源碼解析產(chǎn)生各種結(jié)果的原因,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-09-09
  • spring使用Filter過濾器對(duì)Response返回值進(jìn)行修改的方法

    spring使用Filter過濾器對(duì)Response返回值進(jìn)行修改的方法

    這篇文章主要介紹了spring使用Filter過濾器對(duì)Response返回值進(jìn)行修改,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • feign post參數(shù)對(duì)象不加@RequestBody的使用說明

    feign post參數(shù)對(duì)象不加@RequestBody的使用說明

    這篇文章主要介紹了feign post參數(shù)對(duì)象不加@RequestBody的使用說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 深入理解Java中的Lambda表達(dá)式

    深入理解Java中的Lambda表達(dá)式

    這篇文章主要介紹了深入理解Java中的Lambda表達(dá)式,Lambda在各編程語言中都是非常重要的特性,而Java中則加入得有些太晚...需要的朋友可以參考下
    2015-07-07
  • Java框架---Spring詳解

    Java框架---Spring詳解

    這篇文章主要介紹了Java的Spring框架并用其開始編寫第一個(gè)程序Hellow world的方法,Spring是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下
    2021-09-09
  • 單例模式 分析代碼優(yōu)化方法

    單例模式 分析代碼優(yōu)化方法

    這篇文章主要介紹了單例模式 分析代碼優(yōu)化方法,需要的朋友可以參考下
    2015-04-04
  • Ibatis配置xml文件CDATA使用方法詳解

    Ibatis配置xml文件CDATA使用方法詳解

    這篇文章主要介紹了Ibatis配置xml文件CDATA使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 關(guān)于spring.factories失效原因分析及解決

    關(guān)于spring.factories失效原因分析及解決

    這篇文章主要介紹了關(guān)于spring.factories失效原因分析及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Java定義形式及可變參數(shù)實(shí)例解析

    Java定義形式及可變參數(shù)實(shí)例解析

    這篇文章主要介紹了Java定義形式及可變參數(shù)實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Java springboot 整合 Nacos的實(shí)例代碼

    Java springboot 整合 Nacos的實(shí)例代碼

    這篇文章主要介紹了Java springboot 整合 Nacos的實(shí)例,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04

最新評(píng)論

鄂伦春自治旗| 科尔| 宣威市| 泾源县| 胶州市| 溧阳市| 上饶市| 兴文县| 修文县| 堆龙德庆县| 浙江省| 沙雅县| 上杭县| 大连市| 祁阳县| 秦皇岛市| 滕州市| 旺苍县| 乐陵市| 阳朔县| 左权县| 海阳市| 志丹县| 建平县| 安康市| 关岭| 巢湖市| 金沙县| 乐至县| 肇州县| 砀山县| 和政县| 阳山县| 马关县| 德化县| 富裕县| 怀宁县| 凤冈县| 环江| 青海省| 班戈县|