若依添加添加監聽容器配置(刪除鍵,鍵過期)

1、配置Redis的鍵觸發事件

# 基礎配置
bind 0.0.0.0                   
# 允許所有IP連接
protected-mode no              
# 關閉保護模式(生產環境建議結合密碼使用)
port 6379                      
# 默認端口
daemonize no                   
# 非后臺運行(Docker 中必須為 no)
timeout 0                      
# 連接超時時間(0為不限制)
tcp-keepalive 300              
# 保持TCP連接活性
# 持久化
appendonly yes                 
# 開啟AOF持久化
appendfsync everysec           
# 每秒同步一次AOF文件
dir /data                      
# 數據存儲路徑(Docker 中需掛載此目錄)# 內存管理
maxmemory 1GB                  
# 最大內存限制(根據需求調整)
maxmemory-policy volatile-lru  
# 內存滿時刪除最近最少使用的鍵# 安全
requirepass 12321sadsadsadSDDSADS     
# 設置密碼(生產環境必選)# 鍵空間通知(關鍵配置!)
notify-keyspace-events Egx      
# 監聽鍵過期事件(E: 鍵事件, x: 過期事件)# 日志
loglevel notice                
# 日志級別(notice/production環境推薦)
logfile ""                     
# 日志輸出到標準輸出(Docker 友好)

按照配置文件進行啟動

docker run -d -p 6379:6379 --name redis-server  --restart=always -v /home/redis/redis.conf:/etc/redis/redis.conf  -v /home/redis/data:/data -d redis:7.0.2 redis-server /etc/redis/redis.conf

2、 總的配置需要添加

配置文件在framework模塊下面的config文件夾中

@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport
{@Beanpublic RedisMessageListenerContainer redisMessageListenerContainer(RedisConnectionFactory connectionFactory) {RedisMessageListenerContainer container = new RedisMessageListenerContainer();container.setConnectionFactory(connectionFactory);return container;}
}

3、 鍵刪除監聽

@Component
@Slf4j
public class RedisKeyDeletionListener extends KeyExpirationEventMessageListener {@Value("${spring.redis.database}")private Integer database;public RedisKeyDeletionListener(RedisMessageListenerContainer listenerContainer) {super(listenerContainer);}@Overrideprotected void doRegister(RedisMessageListenerContainer listenerContainer) {// 監聽指定數據庫的鍵刪除事件(__keyevent@*__:del)listenerContainer.addMessageListener(this,new PatternTopic("__keyevent@" + database + "__:del"));}@Overridepublic void onMessage(Message message, byte[] pattern) {String deletedKey = new String(message.getBody());log.info("Key deleted: {}", deletedKey);//此處寫你的業務邏輯}}

4、 鍵過期監聽

@Component
@Slf4j
public class RedisKeyBasicExpirationListener extends KeyExpirationEventMessageListener {// 當前服務連接的redis庫序列號@Value("${spring.redis.database}")private Integer database;public RedisKeyBasicExpirationListener(RedisMessageListenerContainer listenerContainer) {super(listenerContainer);}// 指定監聽數據庫@Overrideprotected void doRegister(RedisMessageListenerContainer listenerContainer) {listenerContainer.addMessageListener(this, new PatternTopic("__keyevent@" + database + "__:expired"));}@Overridepublic void onMessage(Message message, byte[] pattern) {// 業務邏輯執行System.out.println("業務邏輯執行");killVlcThread();}}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/84212.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/84212.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/84212.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vb監測Excel兩個單元格變化,達到閾值響鈴

需求 在Excel中實現監控兩個單元格之間的變化范圍,當達到某個設定的值的范圍內時,實現自動響鈴提示。 實現: 首先設置Excel,開啟宏、打開開發者工具,點擊visual Basic按鈕,然后在左側雙擊需要監測的shee…

用 Melos 解決 Flutter Monorepo 的依賴沖突:一個真實案例

在 Flutter 項目開發中,尤其是采用 Monorepo 架構管理多個相互關聯的包時,依賴沖突是一個常見且令人頭疼的問題。不同的包可能依賴同一個庫的不同版本,導致項目無法編譯或運行時出現難以調試的錯誤。 本文將基于一個 真實的 Flutter Monorep…

Spring AI 項目實戰(五):Spring Boot + AI + DeepSeek + Redis 實現聊天應用上下文記憶功能(附完整源碼)

系列文章 序號文章名稱1Spring AI 項目實戰(一):Spring AI 核心模塊入門2Spring AI 項目實戰(二):Spring Boot + AI + DeepSeek 深度實戰(附完整源碼)3Spring AI 項目實戰(三):Spring Boot + AI + DeepSeek 打造智能客服系統(附完整源碼)4Spring AI 項目實戰(四…

Vue 3 Teleport 實戰:優雅實現模態框、通知和全局組件

Vue 3 Teleport:突破 DOM 層級限制的組件渲染利器 在 Vue 應用開發中,組件通常與其模板的 DOM 結構緊密耦合。但當處理模態框(Modal)、通知(Toast)或全局 Loading 指示器時,這種耦合會成為障礙…

SVM超詳細原理總結

哈嘍,我是我不是小upper~ 今天想跟大家聊聊支持向量機(SVM)。很多初學者對這個算法模型特別感興趣,它也是初學者在學習過程中非常喜愛的一種模型,更是機器學習領域中極為重要的算法之一! 今天想跟大家深入…

【Oracle】觸發器

個人主頁:Guiat 歸屬專欄:Oracle 文章目錄 1. 觸發器基礎概述1.1 觸發器的概念與特點1.2 觸發器的分類1.3 觸發器的執行順序 2. DML觸發器2.1 基礎DML觸發器2.1.1 INSERT觸發器2.1.2 UPDATE觸發器2.1.3 DELETE觸發器 2.2 高級DML觸發器2.2.1 復合觸發器2…

MTK-Android12-13 Camera2 設置默認視頻畫質功能實現

MTK-Android12-13 Camera2 設置默認視頻畫質功能實現 場景:部分客戶使用自己的mipi相機安裝到我們主板上,最大分辨率為1280720,但是視頻畫質默認的是640480。實際場景中,在默認視頻分辨率情況下拍出來的視頻比較模糊、預覽也不清晰…

QtDBus模塊功能及架構解析

Qt 6.0 中的 QtDBus 模塊是一個用于進程間通信(IPC)的核心模塊,它基于 D-Bus 協議實現。D-Bus 是一種在 Linux 和其他類 Unix 系統上廣泛使用的消息總線系統,允許應用程序和服務相互通信。 一、QtDBus模塊主要功能: 1…

Spring AI 項目實戰(六):Spring Boot + AI + DeepSeek 打造智能成語接龍游戲(附完整源碼)

系列文章 序號文章名稱1Spring AI 項目實戰(一):Spring AI 核心模塊入門2Spring AI 項目實戰(二):Spring Boot + AI + DeepSeek 深度實戰(附完整源碼)3Spring AI 項目實戰(三):Spring Boot + AI + DeepSeek 打造智能客服系統(附完整源碼)4Spring AI 項目實戰(四…

【HarmonyOS 5】教育開發實踐詳解以及詳細代碼案例

以下是基于 ?HarmonyOS 5? 的教育應用開發實踐詳解及核心代碼案例,結合分布式能力與教育場景需求設計: 一、教育應用核心開發技術 ?ArkTS聲明式UI? 使用 State 管理學習進度狀態,LocalStorageProp 實現跨頁面數據同步(如課程…

【鴻蒙在 ETS (Extendable TypeScript) 中創建多級目錄或文件,可以使用鴻蒙的文件系統 API】

鴻蒙在 ETS (Extendable TypeScript) 中創建多級目錄或文件,可以使用鴻蒙的文件系統 API。 // 導入需要的模塊 import fs from ohos.file.fs;const TAG"Index" Entry Component struct Index {State message: string Hello World;build() {Row() {Colum…

11. vue pinia 和react redux、jotai對比

對比 Vue 的 Pinia,和 React 的 Redux、Jotai,分中英文簡要介紹、特性、底層原理、使用場景。 簡單介紹 1.1 Pinia(Vue) ? 英文:Pinia is the official state management library for Vue 3, designed to be simple…

OPenCV CUDA模塊目標檢測----- HOG 特征提取和目標檢測類cv::cuda::HOG

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 cv::cuda::HOG 是 OpenCV 的 CUDA 模塊中對 HOG 特征提取和目標檢測 提供的 GPU 實現。它與 CPU 版本的 cv::HOGDescriptor 類似,但利…

(一)單例模式

一、前言 單例模式屬于六大創建型模式,即在軟件設計過程中,主要關注創建對象的結果,并不關心創建對象的過程及細節。創建型設計模式將類對象的實例化過程進行抽象化接口設計,從而隱藏了類對象的實例是如何被創建的,封裝了軟件系統使用的具體對象類型。 六大創建型模式包括…

【QT】QT多語言切換

QT多語言切換 1.創建任意一個項目2. 利用lupdate(language update)工具生成.ts文件2.1 在工程中的.pro文件中指定.ts文件要存放的位置2.2 選擇工具--》外部--》Qt語言家--》更新翻譯 3. 利用 lrelease(Language Release)將 .ts 文…

【差分】詳解二維前綴和和差分問題

文章目錄 1. 二維前綴和2. 公式推導3. LeetCode 304 二維區域和檢索 - 矩陣不可變3.1 304 二維區域和檢索 - 矩陣不可變3.2 LeetCode 1139 最大的以 1 為邊界的正方形 4. 二維差分問題5. 二維差分的原理以及差分數組計算6. 題目6.1 牛客二維差分6.2 LeetCode 2132. 用郵票貼滿網…

Unity 大型手游碰撞性能優化指南

Unity 大型手游碰撞性能優化指南 版本: 2.1 作者: Unity性能優化團隊 語言: 中文 前言 在Unity大型手游的開發征途中,碰撞檢測如同一位隱形的舞者,它在游戲的物理世界中賦予物體交互的靈魂。然而,當這位舞者的舞步變得繁復冗余時,便會悄然消耗寶貴的計算資源,導致幀率下…

【hive】函數集錦:窗口函數、列轉行、日期函數

窗口函數 https://www.cnblogs.com/Uni-Hoang/p/17411313.html <窗口函數> OVER ([PARTITION BY <分組列> [, <分組列>...]][ORDER BY <排序列> [ASC | DESC] [, <排序列> [ASC | DESC]]...][<rows or range clause>]) )窗口函數主要是…

DAY 25 異常處理

目錄 DAY 25 異常處理1.異常處理機制2.debug過程中的各類報錯3.try-except機制4.try-except-else-finally機制作業&#xff1a;理解今日的內容即可&#xff0c;可以檢查自己過去借助ai寫的代碼是否帶有try-except機制&#xff0c;以后可以嘗試采用這類寫法增加代碼健壯性。 DAY…

幾何繪圖與三角函數計算應用

幾何繪圖與三角函數計算應用 設計思路 左側為繪圖控制面板&#xff0c;右側為繪圖區域支持繪制點、線、矩形、圓、多邊形等基本幾何圖形實現三角函數計算器&#xff08;正弦、余弦、正切等&#xff09;包含角度/弧度切換和常用數學常數歷史記錄功能保存用戶繪圖 完整實現代碼…