jizzjizz欧美69巨大,18禁网站点击进入在线,美女兔女郎粉逼被操网站,欧美精品区一区二区三区

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

JedisConnectionFactory如何獲取Redis

2022-02-23   

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

工具/材料

IntelliJ IDEA

操作方法

  • 01

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

  • 02

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

  • 03

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

  • 04

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

  • 05

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

  • 06

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

  • 07

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

  • 08

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

特別提示

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

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

標(biāo)簽

开远市| 调兵山市| 吴堡县| 巴马| 正定县| 疏附县| 康乐县| 邵阳市| 甘南县| 古蔺县| 宁蒗| 奉新县| 余庆县| 松原市| 梅州市| 乌恰县| 大城县| 新绛县| 睢宁县| 拜泉县| 灌云县| 霍林郭勒市| 新兴县| 乐业县| 仙居县| 电白县| 方城县| 阿图什市| 九寨沟县| 桐乡市| 健康| 贡嘎县| 罗田县| 东光县| 巫山县| 奈曼旗| 唐河县| 神木县| 五原县| 杨浦区| 瑞昌市|