成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > Spring Boot 項目集成Redis的方式詳解

Spring Boot 項目集成Redis的方式詳解

熱門標(biāo)簽:日本中國地圖標(biāo)注 魔獸2青云地圖標(biāo)注 貴州電銷卡外呼系統(tǒng) 北京400電話辦理收費標(biāo)準(zhǔn) 鄭州人工智能電銷機器人系統(tǒng) 超呼電話機器人 山東外呼銷售系統(tǒng)招商 宿遷便宜外呼系統(tǒng)平臺 十堰營銷電銷機器人哪家便宜

集成方式

使用Jedis

Jedis是Redis官方推薦的面向Java的操作Redis的客戶端,是對服務(wù)端直連后進行操作。如果直接使用Jedis進行連接,多線程環(huán)境下是非線程安全的,正式生產(chǎn)環(huán)境一般使用連接池進行連接。

dependency>
    groupId>redis.clients/groupId>
    artifactId>jedis/artifactId>
    version>2.9.0/version>
/dependency>

使用spring-data-redis

由Spring 框架提供,是對Redis客戶端的進一步封裝,屏蔽了不同客戶端的不同實現(xiàn)方式,讓服務(wù)端和客戶端進一步解耦;也就是你可以切換不同的客戶端實現(xiàn),比如Jedis或Lettuce(Redis客戶端實現(xiàn)之一),而不影響你的業(yè)務(wù)邏輯。

類似于的SpringCloud的服務(wù)治理框架對不同服務(wù)治理組件的適配,或是AMQP

它利用RedisTemplate對JedisApi進行高度封裝。使用的依賴如下:

 dependency>
 	groupId>org.springframework.boot/groupId>
 	artifactId>spring-boot-starter-data-redis/artifactId>
 /dependency>

Redis的安裝

​收先要安裝Redis服務(wù)端,Redis官方提供的是Linux安裝包。網(wǎng)上有很多詳細(xì)的安裝教程,這里不做展開。關(guān)于Windows下的安裝,可參考我的另一篇博文windows下Redis的安裝和使用

綁定配置

​完成Redis服務(wù)端的安裝之后,我們開始在項目中進行集成。這里我們先介紹使用Jedis的方式進行的集成。先按上面的提及的方式進行依賴的引入。然后將Redis的相關(guān)信息配置到配置文件中去。我們可以的新建一個配置文件redis.properties,內(nèi)容如下:

# Redis數(shù)據(jù)庫索引(默認(rèn)為0)
spring.redis.database=0
# Redis服務(wù)器地址
spring.redis.host=127.0.0.1
# Redis服務(wù)器連接端口
spring.redis.port=6379
# Redis服務(wù)器連接密碼(默認(rèn)為空)
spring.redis.password=
# 連接超時時間(毫秒)
spring.redis.timeout=0

​接下來我們要為Redis客戶端連接綁定上面的配置,創(chuàng)建出來的客戶端實例才能夠連接到我們的想連的Redis服務(wù)端。你可以使用@Value注解或@ConfigurationProperties注解的方式,本文采用的是后者,如果還不清楚的該注解的用法,可以移步我的另一篇博文@ConfigurationProperties實現(xiàn)自定義配置綁定查看,這里不做展開。

​以下是Redis服務(wù)端信息配置的接收類:MyRedisProperties.java

@ConfigurationProperties(
        prefix = "spring.redis"
)
@Component
@Data
@PropertySource("classpath:/redis.properties")
public class MyRedisProperties {
    private String database;
    private String host;
    private Integer port;
    private String password;
    private Integer timeOut;
}

由于我們正式生產(chǎn)環(huán)境一般都是采用連接池方式實現(xiàn),所以我們還需要關(guān)于連接池的配置如下:

# 連接池最大連接數(shù)(使用負(fù)值表示沒有限制)
spring.redis.pool.max-active=8
# 連接池最大阻塞等待時間(使用負(fù)值表示沒有限制)
spring.redis.pool.max-wait=-1
# 連接池中的最大空閑連接
spring.redis.pool.max-idle=8
# 連接池中的最小空閑連接
spring.redis.pool.min-idle=0

對應(yīng)的接收類如下:

@ConfigurationProperties(
        prefix = "spring.redis.pool"
)
@Data
@Component
@PropertySource("classpath:/redis.properties")
public class RedisPoolProperties {

    private Integer maxActive;
    private Integer maxWait;
    private Integer maxIdle;
    private Integer minIdle;
}

然后向Spring容器裝配客戶端實例,分為單個客戶端和連接池兩種實現(xiàn),如下代碼:

@Configuration
public class RedisConfig {

    @Autowired
    private RedisPoolProperties redisPoolProperties;
    @Autowired
    private MyRedisProperties myRedisProperties;

    @Bean
    public Jedis singleJedis(){
        return new Jedis(myRedisProperties.getHost(),myRedisProperties.getPort());
    }

    @Bean
    public JedisPool jedisPool(){ 
        JedisPoolConfig poolConfig = new JedisPoolConfig();
        poolConfig.setMaxIdle(redisPoolProperties.getMaxIdle());
        poolConfig.setMaxTotal(redisPoolProperties.getMaxActive());
        poolConfig.setMaxWaitMillis(redisPoolProperties.getMaxWait() * 1000);
        JedisPool jp = new JedisPool(poolConfig, myRedisProperties.getHost(), myRedisProperties.getPort(),
                myRedisProperties.getTimeOut()*1000, myRedisProperties.getPassword(), 0);
        return jp;

    }
}

獲取Redis客戶端

進行相關(guān)配置的綁定之后,意味著我們程序可以拿到Redis和連接池的相關(guān)信息,然后進行客戶端的創(chuàng)建和連接了。所以我們要向Spring容器裝配客戶端實例,分為單個客戶端和連接池兩種實現(xiàn),如下代碼:

@Configuration
public class RedisConfig {

    @Autowired
    private RedisPoolProperties redisPoolProperties;
    @Autowired
    private MyRedisProperties myRedisProperties;

    @Bean
    public Jedis singleJedis(){
        return new Jedis(myRedisProperties.getHost(),myRedisProperties.getPort());
    }

    @Bean
    public JedisPool jedisPool(){ 
        JedisPoolConfig poolConfig = new JedisPoolConfig();
        poolConfig.setMaxIdle(redisPoolProperties.getMaxIdle());
        poolConfig.setMaxTotal(redisPoolProperties.getMaxActive());
        poolConfig.setMaxWaitMillis(redisPoolProperties.getMaxWait() * 1000);
        JedisPool jp = new JedisPool(poolConfig, myRedisProperties.getHost(), myRedisProperties.getPort(),
                myRedisProperties.getTimeOut()*1000, myRedisProperties.getPassword(), 0);
        return jp;

    }
}

Redis工具的編寫

裝配好客戶端實例后,我們就可以通過@Autowired的方式進行注入使用了。我們都知道,Redis有5中數(shù)據(jù)類型,分別是:

  • string(字符串)
  • hash(哈希)
  • list(列表)
  • set(集合)
  • zset(sorted set:有序集合)

所以的有必要的封裝一個操作者5種數(shù)據(jù)列表的工具類,由于篇幅的關(guān)系,我們以Redis最基本的數(shù)據(jù)類型String為例,簡單封裝幾個操作方法作為示例如下,更詳細(xì)的封裝,可參考java操作Redis數(shù)據(jù)庫的redis工具,RedisUtil,jedis工具JedisUtil,JedisPoolUtil這一博文

@Service
public class RedisService {

    @Autowired
    private JedisPool jedisPool; // 連接池方式
    @Autowired
    private Jedis myJedis; // 單個客戶端

    public T> T get(String key, ClassT> clazz) {
        Jedis jedis = null;
        try {
            jedis = jedisPool.getResource();
            String str = jedis.get(key);
            return stringToBean(str,clazz);
        } finally {
            close(jedis);
        }
    }

    public T> void set(String key, T value) {
        try {
            String str = value.toString();
            if (str == null || str.length() = 0) {
                return;
            }
            myJedis.set(key, str);
        } finally {
            close(myJedis);
        }
    }

    private void close(Jedis jedis) {
        if (jedis != null) {
            jedis.close();
        }
    }

    /**
     * 把一個字符串轉(zhuǎn)換成bean對象
     * @param str
     * @param T>
     * @return
     */
    public static T> T stringToBean(String str, ClassT> clazz) {

        if(str == null || str.length() = 0 || clazz == null) {
            return null;
        }

        if(clazz == int.class || clazz == Integer.class) {
            return (T)Integer.valueOf(str);
        }else if(clazz == String.class) {
            return (T)str;
        }else if(clazz == long.class || clazz == Long.class) {
            return  (T)Long.valueOf(str);
        }else {
            return JSON.toJavaObject(JSON.parseObject(str), clazz);
        }
    }
}

其中get方法使用連接池中的客戶端實例,set方法用到的是非連接池的實例,以區(qū)分兩種不同的使用方式

使用

封裝好的Redis的操作工具類后,我們就可以直接使用該工具類來進行對Redis的各種操作 。如下,直接注入即可。

@RestController
public class TestController {

    @Autowired
    private RedisService redisService;
    
    ......
}

到此這篇關(guān)于Spring Boot 項目集成Redis的文章就介紹到這了,更多相關(guān)Spring Boot 項目集成Redis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 使用SpringBoot集成redis的方法
  • SpringBoot集成Redis實現(xiàn)消息隊列的方法
  • Spring boot集成redis lettuce代碼實例
  • 基于SpringBoot集成測試遠(yuǎn)程連接Redis服務(wù)的教程詳解
  • springboot集成redis實現(xiàn)簡單秒殺系統(tǒng)
  • SpringBoot集成Redisson實現(xiàn)分布式鎖的方法示例
  • springBoot集成redis的key,value序列化的相關(guān)問題

標(biāo)簽:楊凌 果洛 朝陽 臺州 北京 吉安 江蘇 大慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Spring Boot 項目集成Redis的方式詳解》,本文關(guān)鍵詞  Spring,Boot,項目,集成,Redis,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Spring Boot 項目集成Redis的方式詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Spring Boot 項目集成Redis的方式詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    日韩国产欧美三级| 天天av天天翘天天综合网色鬼国产| 亚洲国产精品美女| 午夜爽爽视频| 欧美在线观看视频一区| 天堂在线视频中文网| 国产一区二区无遮挡| 国产精品毛片a∨一区二区三区|国| 久久精品国产99久久| 精品国产一级| 在线观看日韩毛片| 在线观看免费黄色网址| 性xx色xx综合久久久xx| 欧美超碰在线观看| 国产激情91久久精品导航| 一道精品一区二区三区| 91亚洲午夜精品久久久久久| 欧美成人h版在线观看| 亚乱亚乱亚洲乱妇| 9191在线视频| 亚洲av无码一区二区三区观看| 午夜伦理在线| 天天操,天天操| 成人在线免费观看视频| 色天下一区二区三区| 99久久夜色精品国产亚洲96| 日本年轻的继坶中文字幕| 免费成人在线影院| 国产午夜精品麻豆| 国产精品五月天| wwww在线观看| 亚洲成a人v欧美综合天堂下载| 日韩成人午夜精品| 97人人在线| 成人一区二区三| 久久97人妻无码一区二区三区| 国产成人久久精品| 欧美在线视频全部完| 成年人黄色片视频| 国产精品作爱| 一区三区三区不卡| 国产肥臀一区二区福利视频| 亚洲欧美视频一区二区三区| 日韩一卡二卡三卡| 国语对白做受69按摩| 亚洲精品自拍视频在线观看| 亚洲精品一区在线观看| 亚洲女娇小黑人粗硬| 国产精品三级在线| 国产91精品高潮白浆喷水| 欧美影院天天5g天天爽| 亚洲一区二区三区四区五区中文| 久久精品国产免费看久久精品| 久久www视频| 波多野结衣有码| 9191在线| 亚洲激情在线观看视频| 日韩精品视频在线看| 羞羞视频网站| 57pao国产一区二区| 男人插曲女人视频免费| 亚洲成av人影院在线观看| 人人狠狠综合久久亚洲婷婷| 亚洲精品国产精品国自产观看浪潮| 亚洲精品永久视频| 羞羞的视频在线观看| 亚洲第一精品夜夜躁人人躁| 欧美日韩一卡二卡三卡| 亚洲天堂av一区二区三区| 特级毛片www| 欧美黄色片在线观看| 天堂在线精品视频| av电影天堂一区二区在线| 国产91综合一区在线观看| 91视频欧美| 这里只有精品视频在线| 日本一区精品视频| 免费在线观看一区二区三区| 日韩美女在线播放| 日韩精品免费观看视频| 久久婷婷综合国产| 国产精品久久久国产盗摄| 在线亚洲色图| 国内av一区二区三区| 亚洲第一天堂久久| 波多野结衣三级在线| 亚洲综合好骚| 情侣黄网站免费看| 久久精品亚洲人成影院| 国产精品第一页第二页第三页| 日韩欧美亚洲一二三区| 日本蜜桃在线观看| 在线欧美三区| t66y永久入口地址| 精品一区二区在线观看视频| 亚洲毛片免费看| 丰满少妇在线观看网站| 2019国产精品| 日韩在线播放一区| 中国一级大黄大黄大色毛片| 日韩黄色一级视频| 一区二区三区四区在线免费观看| 国产原创popny丨九色| 香蕉久久一区| 国产精品三级在线| 成人有码视频在线播放| 日本高清一区| 99re精彩视频| www.久久久久| 岳张嘴把我的精子吞下去| 91在线无精精品白丝| 久久精品1区| 久久这里只有精品一区二区| 亚洲一区中文字幕| 综合 欧美 亚洲日本| 中文字幕视频观看| 91蜜桃臀久久一区二区| 韩国三级日本三级少妇99| www.综合网.com| 亚洲美女在线免费观看| 成人一级片网址| 久久久一本精品99久久精品| 久久久久久久伊人| 国产91精品不卡视频| 精品国产一区二区三区久久久樱花| 2023国产精品久久久精品双| 欧美人妻一区二区| 91社区在线观看| 成人满18在线观看网站免费| 色琪琪久久se色| 麻豆国产欧美日韩综合精品二区| 亚洲国产婷婷| www.8ⅹ8ⅹ羞羞漫画在线看| 日韩在线一二三区| 精品国产区在线| 91精品国产福利在线观看| 自拍偷自拍亚洲精品播放| 日本xxxwww免费视频| 国产自偷自偷免费一区| 日本一区二区三区在线观看视频| 久久久精品影视| 日韩综合第一页| 欧美激情国产日韩精品一区18| 国产69精品久久| 26uuu亚洲伊人春色| 欧美成人久久久免费播放| 欧美一区二区三区黄片| 亚洲午夜小视频| 国产91色在线|免| 麻豆av在线| 天天插综合网| 日韩av一区二区三区在线| 蜜桃免费网站一区二区三区| 日韩伦人妻无码| 国产精品xxx| 国产porn视频| 色综合久久久久久中文网| 欧美一级二级三级区| 91嫩草免费看| 国产在线观看免费| eeuss影院在线播放| 国外视频精品毛片| 国产精品成人99一区无码| 国产一级片免费视频| 色综合网色综合| 亚洲1区2区3区视频| 国产一区二区网址| 两个人看的无遮挡免费视频| 国产毛片在线看| 成人高清视频免费观看| 国产精品人人妻人人爽| 中文字幕免费高清在线| 欧美午夜视频在线| 精品国产国产综合精品| h视频在线观看免费| 国产伦精品一区二区三区在线| 激情自拍一区| 亚洲高清视频一区二区| 国内一卡2卡三卡四卡在线| 欧美一区二区三区黄片| 日本精品一区二区三区四区的功能| 激情视频免费网站| 男人天堂网页| 一区二区国产盗摄色噜噜| 中文字幕 日本| 性网爆门事件集合av| 在线最新版中文在线| 亚洲人成人77777线观看| 久久精品视频16| 欧美视频第一| 99re在线视频观看| 一色桃子av在线| 最近看过的日韩成人| 9.1人成人免费视频网站| 偷拍国模大尺度视频在线播放| 亚洲精品乱码久久久久久黑人| 你懂得在线网址| 久久丫精品忘忧草西安产品| 精品日本一区二区| 天堂中文在线观看| 国产永久免费| 精品国产1区二区| 精品视频99| 亚洲肉体裸体xxxx137| 午夜久久电影网| 亚洲精品国产成人久久av盗摄| 色婷婷av一区二区三区之e本道| 高清中文字幕mv的电影| 欧美极品在线观看| 日韩成人网免费视频| 中文字幕一区二区三区蜜月| 亚洲国产成人av| 99re资源| 久草热久草热线频97精品| 亚洲天堂久久| 动漫一区二区| 久久久久久久久免费视频| 先锋av资源色| 天天躁日日躁狠狠躁伊人| 黄色资源在线观看| 欧美精品在欧美一区二区| 日本欧美精品在线| 先锋音影av资源中文网| 国产树林野战在线播放| 中文字幕欧美日韩一区| 久久久久久毛片免费看| 亚洲综合久久网| 外国成人激情视频| 99久久精品国产亚洲| 亚洲美女在线一区| 日韩在线播放av| 亚洲综合精品自拍| 一区二区欧美国产| 99精品一区二区| 999这里有精品| 欧美三级韩国三级日本三斤在线观看| 国产大学生自拍视频| 国产成人视屏| 欧美三级自拍| caoporn-草棚在线视频最| 免费日韩一区二区| 写真福利片hd在线观看| 强乱中文字幕av一区乱码| 91香蕉视频污在线| 欧美日韩免费高清一区色橹橹| 九色视频一区| 国产情人综合久久777777| gogo亚洲国模私拍人体| 又黄又爽的视频在线观看| 久久99国产精品一区| 欧美日韩国产综合一区二区三区| 成人免费视频国产免费麻豆| av中文天堂在线| sm久久捆绑调教精品一区| 欧美xxxx性| 真人bbbbbbbbb毛片| 国产一区二区三区久久久| 97超级在线观看免费高清完整版电视剧| 日韩欧美电影在线| 国产精品一区二区男女羞羞无遮挡| 国产在线精品一区二区不卡| 欧美一级淫片免费视频魅影视频| 成人黄色短视频| 亚洲一区二区三区四区在线免费观看| 日韩激情视频网站| 亚洲一二三精品| 国产老熟妇精品观看| 亚洲tv在线观看| 137大胆人体在线观看| 中文在线天堂库| 亚洲国产精品久久网午夜小说| 国产夫妻性生活视频| 亚洲欧美偷拍自拍| 中文字幕一区2区3区| 一本色道88久久加勒比精品| 欧美 日韩 国产精品| 日本免费在线观看| 欧美色图亚洲视频| 中文字幕乱码人妻二区三区| 久久久久久欧美精品色一二三四| 四虎成人免费| 日韩精品在线观看视频| 国产黄在线播放| 九九精品在线观看视频| 精品无码免费视频| 极品色av影院| 特级西西人体高清大胆| 一区在线观看视频| 亚洲日韩中文字幕在线播放| 色欧美在线观看| 波多野结衣亚洲一区二区| 久久99蜜桃精品久久久久小说| 国产亚洲精品久久久久久移动网络| 在线播放精品视频| mm1313亚洲国产精品美女| 日本一道高清亚洲日美韩| www.xx日本| 成人一区二区三区仙踪林| 人妻精品久久久久中文字幕69| 国产日本欧洲亚洲| 亚洲欧洲精品一区二区精品久久久| 波多野一区二区| 精品久久久国产| 国产精品久久久对白| 欧美日本高清视频在线观看| 亚洲尤物视频在线| 日本少妇做爰全过程毛片| 亚洲精品福利免费在线观看| 亚洲美女视频网| 久久久久久久黄色| 特级毛片在线| 国产熟妇久久777777| 全球成人免费直播| 美腿丝袜一区二区三区| 国产成人精品一区二区三区四区| 成人av免费播放| 蜜臀91精品国产高清在线观看| 国产日韩网站| 国产精品一区二区不卡| 亚洲视频999| 91theporn国产在线观看| 国产一区二区伦理片| 国产精品无码久久久久久| 国产在线乱码一区二区三区| 日韩小视频在线观看专区| 欧美肉大捧一进一出免费视频| 成人黄色影片在线| 天天堂资源网在线观看免费视频|