redis添加超時設置

redis添加參數的超時設置, 并且需要加鎖,一開始是用

redisTemplate.opsForValue().setIfAbsent("key","value",1,TimeUnit.SECONDS);

結果發現這種方式直接會返回空指針錯誤

所以只能對方法加鎖來解決加鎖和超時的問題


import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;import java.util.concurrent.TimeUnit;@Component
@Slf4j
public class RedisUtils {@Autowiredprivate RedisTemplate<String, String> redisTemplate;public synchronized Boolean add( String redisKey, String value) {Boolean hasKey = addSub(redisKey, value);redisTemplate.expire(redisKey, 20, TimeUnit.SECONDS);return hasKey;}private Boolean addSub(String redisKey, String value) {Boolean hasKey = redisTemplate.hasKey(redisKey);if (!hasKey) {redisTemplate.opsForValue().set(redisKey, value);return true;}return false;}}

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

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

相關文章

七牛云實踐:我們如何用 AIGC 將產品開發從“人想圖”變為“圖選圖”

在火熱進行中的2025深圳國際文創展上&#xff0c;AI玩具、數字藝術等新興品類無疑成為了焦點。表面的喧囂之下&#xff0c;一個更深層次的變革正在悄然發生&#xff1a;驅動這些創新產品誕生的底層工作流&#xff0c;正在被AIGC技術深刻影響。 對于身處其中的產品經理、設計師和…

醫療器械企業如何做好多系統權限管理?解析PLM、ERP、MES權限角色

在醫療器械這個高度專業化、強監管的行業&#xff0c;數字化轉型不僅意味著效率提升&#xff0c;更關乎合規與安全。當企業將業務流程從研發、生產、銷售到售后&#xff0c;逐步遷移到ERP、PLM、MES、CRM等各類數字系統中時&#xff0c;一個關鍵而又常常被忽視的問題浮出水面&a…

藍凌研究院《2025上市公司AI數智化轉型白皮書》發布

上市公司是國民經濟基本盤。目前中國境內上市公司達5420家&#xff0c;加上海外上市公司總數會更多。上市公司群體是國民經濟的基本盤&#xff0c;其發展態勢深刻映照著經濟轉型的脈搏與韌性。目前&#xff0c;中國在境內上市的公司總數達5420家&#xff0c;加上海外上市的公司…

OpenFOAM并行區域分解生成的polymesh文件解釋

文章目錄OpenFOAM里區域分解后polymesh文件解釋&#x1f539; 1. What is polyMesh?&#x1f539; 2. Domain Decomposition Overview&#x1f539; 3. How decomposePar Works with polyMeshKey Output Files in processorX/polyMesh/:&#x1f539; 4. Types of Decompositi…

前端-npm和yarn的安裝以及區別

目錄 一.安裝npm或yarn 安裝Yarn &#x1f5a5;? macOS / Linux 方式 1&#xff1a;通過 npm 安裝&#xff08;最簡單&#xff09; 方式 2&#xff1a;通過系統包管理器 &#x1fa9f; Windows 方法 1&#xff1a;用 npm 安裝 方法 2&#xff1a;用 MSI 安裝包 方法 3&#x…

通信原理實驗之線性均衡器-迫零算法

通信原理實驗之線性均衡器-迫零算法一、實驗目的1、了解線性均衡器&#xff1b;2、了解迫零算法&#xff1b;3、熟悉眼圖的使用。二、實驗儀器1、序列碼產生2、信號中繼器3、加多徑干擾4、迫零均衡5、信號分布圖 6、眼圖三、實驗的理論基礎1.線性均衡器&#xff1a;信道均衡技術…

把 AI 塞進「智能手環」——基于心率變異的零樣本壓力監測手環

標簽&#xff1a;心率變異、壓力監測、零樣本、智能手環、TinyML、RISC-V、低功耗、邊緣 AI ---- 1. 背景&#xff1a;為什么手環要「測壓力」&#xff1f; 現代生活壓力大&#xff0c;全球 30% 的人有焦慮癥狀&#xff0c;但傳統手環&#xff1a; ? 只能測心率&#xff0c;無…

fastapi項目細節和啟動順序

要搞清楚 FastAPI 項目啟動的執行邏輯&#xff0c;需要先明確 “項目啟動流程”“main 函數角色”“lifespan 作用”“導入語句執行時機” 這幾個核心點的關系&#xff0c;下面逐一拆解&#xff1a;一、FastAPI 項目啟動&#xff1a;先執行 “導入語句”&#xff0c;再執行 “m…

Fluent Bit系列:字符集轉碼測試(上)

#作者&#xff1a;程宏斌 文章目錄gbk2utf8.lua 腳本說明在主配置中配置過濾器。如何在Linux系統中手動生成GBK日志&#xff1f;驗證日志轉碼的準確性測試測試方案fluent-bit 3.0.2 轉換測試這部分內容分為兩個任務&#xff1a; 是驗證 Lua 腳本是否能夠將 GBK 編碼的文本轉換為…

ApiFox高并發測試用例

介紹 在開發中我們經常會測試高并發場景下的業務&#xff0c;下面來看看如何使用ApiFox編寫一個高并發的測試用例 編寫接口 第一步我們要編寫測試的接口&#xff0c;并且建立一個用例 自動化測試 將上面的測試用例添加到自動化測試中&#xff0c;設置并發參數即可&#xff0c…

【MySQL數據庫入門課程】開課啦!

&#x1f4e3; 【MySQL數據庫入門課程】開課啦&#xff01; 課程名稱&#xff1a;MySQL數據庫實戰入門&#xff08;零基礎友好版&#xff09; 開課時間&#xff1a;2025年9月1日 授課方式&#xff1a;線上免費學習 實操練習 教師全程指導 適合人群&#xff1a;中職學校計算機…

面試中的并發編程題(下)

12、synchronized和Lock有什么區別語法層面synchronized是關鍵字&#xff0c;源碼在jvm中&#xff0c;用c實現Lock是接口&#xff0c;源碼又jdk提供&#xff0c;用Java實現使用synchronized時&#xff0c;退出同步代碼塊鎖會自動釋放&#xff0c;而使用Lock時&#xff0c;需要手…

Autosar之DCM模塊

一、DCM介紹 DCM(Diagnostic Communication Manager)是AUTOSAR(汽車開放系統架構)基礎軟件BSW中服務層(Service Layer)的核心模塊,其核心功能是為車輛電子控制單元(ECU)提供符合行業標準(如ISO 14229 UDS、ISO 15765 DoCAN、ISO 15031 OBD等)的診斷服務支持,為開發…

HFSS許可證與版本兼容性

在電磁仿真領域&#xff0c;HFSS&#xff08;High Frequency Structure Simulator&#xff09;軟件因其卓越的性能和廣泛的應用而備受贊譽。然而&#xff0c;為了確保用戶能夠充分利用HFSS的功能并獲得流暢的仿真體驗&#xff0c;許可證與版本兼容性成為了不可忽視的重要因素。…

Java有幾種文件拷貝方式,哪一種效率最高?

文章目錄一、Java文件拷貝的5種方式1. 傳統IO流&#xff08;字節流/字符流&#xff09;手動拷貝2. NIO的FileChannel拷貝&#xff08;transferTo/transferFrom&#xff09;3. Java 7的Files.copy()工具類4. 緩沖流&#xff08;BufferedInputStream/BufferedOutputStream&#x…

【前端教程】JavaScript 基礎總結

JavaScript 的三種使用方式 內部引入&#xff08;常用&#xff09;外部引入&#xff08;一個 js 文件可以被多個頁面共同使用&#xff09;行內&#xff08;少用&#xff09; 區別&#xff1a; 內部引入只能夠使用單頁面外部引入可以應用到多個頁面行內是直接在 HTML 標簽內寫&a…

學習-XMind 思維導圖

XMind 是 2006 年誕生的思維導圖軟件&#xff0c;全球超 1 億用戶&#xff0c;能可視化呈現復雜信息&#xff0c;適用于學習、工作場景。它功能全&#xff08;支持多圖表結構&#xff09;、易操作、顏值高、跨平臺且安全&#xff0c;因此受青睞。其界面有菜單欄&#xff08;含各…

Ubuntu下MySQL、MongoDB與Redis:從安裝到協同的完整指南

目錄 一、MySQL&#xff1a;穩定可靠的關系型數據庫 1.1 安裝與配置 1.2 性能優化實戰 二、MongoDB&#xff1a;靈活的文檔數據庫 2.1 安裝與配置 2.2 性能優化策略 三、Redis&#xff1a;高性能內存數據庫 3.1 安裝與配置 3.2 高級應用場景 四、協同實戰&#xff1a…

【傳奇開心果系列】Flet框架帶圖標帶交互動畫的辦公用品費用占比統計餅圖自定義模板

Flet帶圖標帶交互動畫的辦公用品費用占比統計餅圖自定義模板 一、效果展示GIF動圖 二、應用場景介紹 三、 特色說明 四、小結 五、源碼下載地址 一、效果展示GIF動圖 二、應用場景介紹 該應用是一個基于 Flet 框架開發的交互式辦公用品費用占比統計餅圖。適用于以下場景: 企業…

docker鏡像在containerd為底座的k8s中使用

docker鏡像和container鏡像為什么不能直接共通 Docker 鏡像和 containerd 鏡像本質上格式兼容&#xff08;都遵循 OCI 鏡像規范&#xff09;&#xff0c;但默認情況下 “不能互相識別”&#xff0c;核心原因是存儲位置、命名空間和工具鏈的隔離&#xff0c;而非鏡像格式本身的差…