JedisConnectionFactory如何獲取Redis
Spring對Redis的支援是透過Spring Data Redis實現的,JedisConnectionFactory爲我們提供了Redis的一種Java客戶端Jedis。本文主要爲大家介紹使用工廠類獲取Jedis的兩種方式,以及使用過程中存在的問題,希望能爲大家提供一些思路。
工具/材料
IntelliJ IDEA
操作方法
首先我們需要編輯Spring的配置檔案erties,添加Redis的相關配置,這些配置在代碼中需要注入,用來生成JedisConnectionFactory的Bean。
接下來我們寫一個配置類,該配置類上需要添加@Configuration註解,我們在這個類中透過@Value註解注入erties配置檔案中的部分需要的屬性,其中{}用於接收屬性值,在屬性名冒號後面的值是默認值,若讀取不到該屬性則使用默認值。我們在該類中創建JedisConnectionFactory的Bean,在這個Bean中設定讀取到的屬性值。
接下來我們創建一個RedisServer的類,主要用於獲取Redis以及實現部分Redis操作的方法。在該類中我們可以使用@Autowired註解注入JedisConnectionFactory的Bean。下圖中獲取Redis客戶端Jedis的方法是我們推薦的方法,使用該方法我們既獲取到了Jedis實例又使用的連接池,將Jedis實例交由連接池管理,不用太擔心併發操作導致的Redis不可用的情況。最後再附上Jedis操作存儲和獲取數據的方法。
另外,我們還有再介紹一種並不推薦的寫法,如下圖所示。這種方法每次都創建一個新的Redis連接並且沒有關閉連接,在大量併發操作時會帶來性能上的開銷,由於對連接數沒有限制,可能會耗盡Redis的連接,導致Redis連接報錯。
配置完成後我們來測試一下Jedis是否能正常使用,創建一個RedisController類,在該類中注入JedisServer,使用JedisServer提供的存儲和讀取方法,然後啓動服務。
服務啓動後我們在postman中進行測試,首先調用setRedis請求將數據存入Redis中,然後再調用getRedis請求獲取數據,如下圖所示。
JedisConnectionFactory在Spring Data Redis 2.0後就不再推薦上述這種配置方式了,當我們的spring-boot-starter-parent版本設定爲2.x時,我們可以看到代碼中的設定已經被廢棄了。
Spring Data Redis 2.0推薦使用Standalone、Sentinel、RedisCluster這三種模式的環境配置類,以便於更加靈活的適配更多的業務場景,我們一般自己測試Redis通常使用的都是單機版的,那麼以單機版爲例,JedisConnectionFactory的配置應寫爲如下的方式。
特別提示
本文只是介紹了一種Redis客戶端的使用方式,還是推薦大家使用spring-boot集成Redis做開發,因爲spring-boot開箱即用的特性可以大大減少開發工作量。
-
Chrome如何在禁止右鍵的網站,把文字複製下來?
在網上瀏覽文章時,有時看到一篇好的文章,或一段經典的話語,想要複製下來,儲存到自己的word文檔裏,通常都是先選擇需要複製的文字,然後右鍵,點擊複製。或者直接點擊鍵盤ctrl+c來複制。但有些網站禁止了右鍵,就算你點擊右鍵也沒有選單彈出來。也禁止了快速鍵ctrl+c,所以按...
-
簡單幾步打造圖片的繪畫玻璃效果
怎麼製作圖片的繪畫玻璃效果呢?下面,就讓小編給大家介紹一下吧。操作方法01首先,我們需要開啟我們電腦的ps軟件(鼠標左鍵雙擊桌面上的ps捷徑或者是鼠標右鍵再選擇開啟都是可以的)。02開啟ps軟件之後,開啟一張圖片。03接着,我們複製背景圖層。04添加高斯模糊濾鏡效...
-
微博與博客到底是什麼?幹什麼用的
微博與博客到底是什麼,它們主要是用來做什麼,讓小編來給你普及指南。操作方法(01)微博和博客都是用戶用來發表文章的一個平臺系統,透過自我內容的發佈與其他網絡用戶形成互動交流。(02)微博可以看做是小型的博客,文字輸入量被限制在140字。這是微博最大的特點。另外微...
-
如何製作圖片火海燃燒效果
如何製作圖片火海燃燒效果呢?下面,就讓小編給大家介紹一下吧。操作方法01首先,我們需要開啟我們電腦的ps軟件(鼠標左鍵雙擊桌面上的ps捷徑或者是鼠標右鍵再選擇開啟都是可以的)。02開啟ps軟件之後,開啟一張圖片;接着,複製背景圖層。03添加分層雲彩濾鏡效果;然後,執行...
相關文章
- 如何在Windows中安裝VMware Workstation Pro 12
- GetThreadContext failed的解決方法
- SpringBoot整合SpringSeesion實現Redis快取
- Visual Studio中如何安裝使用Newtonsoft Json
- Visual Studio Code中如何搭建並執行NodeJS環境
- Notepad++中TextFX Characters插件如何安裝
- Android sdk content loader 0%的解決方案
- 電腦提示operating system not found怎麼辦
- 電腦出現no bootable devices found怎麼解決?
- 恢復win10誤刪Microsoft Print to PDF打印機