亚洲成色在线无码_中文字幕专区高清在线观看_国产精品视频一区二区三区四_国内自拍视频一区二区三区_伊人伊成久久人综合网小说

萬能百科  > 游戲數(shù)碼?  > 

JedisConnectionFactory如何獲取Redis

2022-02-23   

Spring對Redis的支持是通過Spring Data Redis實(shí)現(xiàn)的,JedisConnectionFactory為我們提供了Redis的一種Java客戶端Jedis。本文主要為大家介紹使用工廠類獲取Jedis的兩種方式,以及使用過程中存在的問題,希望能為大家提供一些思路。

工具/材料

IntelliJ IDEA

操作方法

  • 01

    首先我們需要編輯Spring的配置文件application.properties,添加Redis的相關(guān)配置,這些配置在代碼中需要注入,用來生成JedisConnectionFactory的Bean。

  • 02

    接下來我們寫一個配置類,該配置類上需要添加@Configuration注解,我們在這個類中通過@Value注解注入application.properties配置文件中的部分需要的屬性,其中{}用于接收屬性值,在屬性名冒號后面的值是默認(rèn)值,若讀取不到該屬性則使用默認(rèn)值。我們在該類中創(chuàng)建JedisConnectionFactory的Bean,在這個Bean中設(shè)置讀取到的屬性值。

  • 03

    接下來我們創(chuàng)建一個RedisServer的類,主要用于獲取Redis以及實(shí)現(xiàn)部分Redis操作的方法。在該類中我們可以使用@Autowired注解注入JedisConnectionFactory的Bean。下圖中獲取Redis客戶端Jedis的方法是我們推薦的方法,使用該方法我們既獲取到了Jedis實(shí)例又使用的連接池,將Jedis實(shí)例交由連接池管理,不用太擔(dān)心并發(fā)操作導(dǎo)致的Redis不可用的情況。最后再附上Jedis操作存儲和獲取數(shù)據(jù)的方法。

  • 04

    另外,我們還有再介紹一種并不推薦的寫法,如下圖所示。這種方法每次都創(chuàng)建一個新的Redis連接并且沒有關(guān)閉連接,在大量并發(fā)操作時會帶來性能上的開銷,由于對連接數(shù)沒有限制,可能會耗盡Redis的連接,導(dǎo)致Redis連接報錯。

  • 05

    配置完成后我們來測試一下Jedis是否能正常使用,創(chuàng)建一個RedisController類,在該類中注入JedisServer,使用JedisServer提供的存儲和讀取方法,然后啟動服務(wù)。

  • 06

    服務(wù)啟動后我們在postman中進(jìn)行測試,首先調(diào)用setRedis請求將數(shù)據(jù)存入Redis中,然后再調(diào)用getRedis請求獲取數(shù)據(jù),如下圖所示。

  • 07

    JedisConnectionFactory在Spring Data Redis 2.0后就不再推薦上述這種配置方式了,當(dāng)我們的spring-boot-starter-parent版本設(shè)置為2.x時,我們可以看到代碼中的設(shè)置已經(jīng)被廢棄了。

  • 08

    Spring Data Redis 2.0推薦使用Standalone、Sentinel、RedisCluster這三種模式的環(huán)境配置類,以便于更加靈活的適配更多的業(yè)務(wù)場景,我們一般自己測試Redis通常使用的都是單機(jī)版的,那么以單機(jī)版為例,JedisConnectionFactory的配置應(yīng)寫為如下的方式。

特別提示

本文只是介紹了一種Redis客戶端的使用方式,還是推薦大家使用spring-boot集成Redis做開發(fā),因為spring-boot開箱即用的特性可以大大減少開發(fā)工作量。

詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。

標(biāo)簽