日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

JedisConnectionFactory如何獲取Redis

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

JedisConnectionFactory如何獲取Redis


工具/材料IntelliJ IDEA
操作方法01、首先我們需要編輯Spring的配置文件application.properties,添加Redis的相關(guān)配置,這些配置在代碼中需要注入 , 用來(lái)生成JedisConnectionFactory的Bean 。
02、接下來(lái)我們寫(xiě)一個(gè)配置類(lèi),該配置類(lèi)上需要添加@Configuration注解 , 我們?cè)谶@個(gè)類(lèi)中通過(guò)@Value注解注入application.properties配置文件中的部分需要的屬性,其中{}用于接收屬性值 , 在屬性名冒號(hào)后面的值是默認(rèn)值,若讀取不到該屬性則使用默認(rèn)值 。我們?cè)谠擃?lèi)中創(chuàng)建JedisConnectionFactory的Bean , 在這個(gè)Bean中設(shè)置讀取到的屬性值 。
03、接下來(lái)我們創(chuàng)建一個(gè)RedisServer的類(lèi),主要用于獲取Redis以及實(shí)現(xiàn)部分Redis操作的方法 。在該類(lèi)中我們可以使用@Autowired注解注入JedisConnectionFactory的Bean 。下圖中獲取Redis客戶(hù)端Jedis的方法是我們推薦的方法,使用該方法我們既獲取到了Jedis實(shí)例又使用的連接池 , 將Jedis實(shí)例交由連接池管理,不用太擔(dān)心并發(fā)操作導(dǎo)致的Redis不可用的情況 。最后再附上Jedis操作存儲(chǔ)和獲取數(shù)據(jù)的方法 。
04、另外 , 我們還有再介紹一種并不推薦的寫(xiě)法,如下圖所示 。這種方法每次都創(chuàng)建一個(gè)新的Redis連接并且沒(méi)有關(guān)閉連接,在大量并發(fā)操作時(shí)會(huì)帶來(lái)性能上的開(kāi)銷(xiāo),由于對(duì)連接數(shù)沒(méi)有限制 , 可能會(huì)耗盡Redis的連接,導(dǎo)致Redis連接報(bào)錯(cuò) 。
05、配置完成后我們來(lái)測(cè)試一下Jedis是否能正常使用,創(chuàng)建一個(gè)RedisController類(lèi),在該類(lèi)中注入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)境配置類(lèi),以便于更加靈活的適配更多的業(yè)務(wù)場(chǎng)景,我們一般自己測(cè)試Redis通常使用的都是單機(jī)版的,那么以單機(jī)版為例,JedisConnectionFactory的配置應(yīng)寫(xiě)為如下的方式 。
特別提示【JedisConnectionFactory如何獲取Redis】本文只是介紹了一種Redis客戶(hù)端的使用方式,還是推薦大家使用spring-boot集成Redis做開(kāi)發(fā),因?yàn)閟pring-boot開(kāi)箱即用的特性可以大大減少開(kāi)發(fā)工作量 。

    推薦閱讀