国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

在Spring Boot微服務(wù)使用RedisTemplate操作Redis集群

這篇具有很好參考價值的文章主要介紹了在Spring Boot微服務(wù)使用RedisTemplate操作Redis集群。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

記錄:442

場景:在Spring Boot微服務(wù)使用RedisTemplate操作Redis集群的緩存和隊列等數(shù)據(jù)類型。

版本:JDK 1.8,Spring?Boot 2.6.3,redis-6.2.5。

1.微服務(wù)中配置Redis信息

1.1在pom.xml添加依賴

pom.xml文件:

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

解析:spring-boot-starter-data-redis和spring-boot版本保持一致。

1.2在application.yml中配置Redis集群信息

(1)application.yml配置內(nèi)容

spring:
  redis:
    cluster:
      nodes:
        - 192.168.19.161:27001
        - 192.168.19.161:27002
        - 192.168.19.162:27001
        - 192.168.19.162:27002
        - 192.168.19.163:27001
        - 192.168.19.163:27002
    password: demo12345678
    timeout: 60000

(2)解析

配置內(nèi)容來源。

jar包:spring-boot-autoconfigure-2.6.3.jar。

類:org.springframework.boot.autoconfigure.data.redis.RedisProperties。

當引入spring-boot-starter時,此包已經(jīng)引入。

當需要配置集群其它信息時,在RedisProperties類中查找并配置到application.yml就能生效。

1.3加載簡要邏輯

Spring Boot微服務(wù)在啟動時,自動注解機制會讀取application.yml的配置信息注入到RedisProperties對象的對應(yīng)屬性。因此,在Spring環(huán)境中就能取到Redis集群的配置信息。

Spring從RedisProperties對象中取配置注入到RedisTemplate客戶端中。因此,RedisTemplate客戶端就能對Redis集群做增、刪、改、查等操作。

2.配置RedisTemplate

RedisTemplate是springframework框架中封裝的操作Redis的客戶端。

類全稱:org.springframework.data.redis.core.RedisTemplate

2.1配置RedisTemplate

@Configuration
public class RedisConfig {
  @Bean("redisTemplate")
  public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory lettuceConnectionFactory) {
      // 1.創(chuàng)建RedisTemplate對象
      RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
      // 2.加載Redis配置
      redisTemplate.setConnectionFactory(lettuceConnectionFactory);
      // 3.配置key序列化
      RedisSerializer<?> stringRedisSerializer = new StringRedisSerializer();
      redisTemplate.setKeySerializer(stringRedisSerializer);
      redisTemplate.setHashKeySerializer(stringRedisSerializer);
      // 4.配置Value序列化
      Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class);
      ObjectMapper objMapper = new ObjectMapper();
      objMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
      objMapper.activateDefaultTyping(objMapper.getPolymorphicTypeValidator(), ObjectMapper.DefaultTyping.NON_FINAL);
      jackson2JsonRedisSerializer.setObjectMapper(objMapper);
      redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
      redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
      // 5.初始化RedisTemplate
      redisTemplate.afterPropertiesSet();
      return redisTemplate;
  }
}

2.2解析

配置RedisTemplate后,在Spring環(huán)境中,可以使用@Autowired注解注入RedisTemplate實例操作Redis集群。也可以使用cn.hutool.extra.spring.SpringUtil工具等從Spring 中獲取RedisTemplate實例操作Redis集群。

3.使用@Autowired注入RedisTemplate的方式操作Redis集群

3.1簡要說明

使用@Autowired注入RedisTemplate,操作Redis集群的增、查、改、刪等操作。

3.2操作示例

@RestController
@RequestMapping("/hub/example/operateCluster")
@Slf4j
public class OperateClusterController {
  @Autowired
  private RedisTemplate redisTemplate;
  /**
   * 注入方式使用RedisTemplate
   */
  @GetMapping("/f01_01")
  public Object f01_01() {
      log.info("RedisTemplate操作Redis集群開始...");
      // 1.增
      redisTemplate.boundValueOps("D:2023060801:01").set("浙江-杭州");
      // 2.查
      Object result01 = redisTemplate.boundValueOps("D:2023060801:01").get();
      log.info("查詢 D:2023060801:01 = " + result01.toString());
      // 3.改
      redisTemplate.boundValueOps("D:2023060801:01").set("浙江-寧波");
      result01 = redisTemplate.boundValueOps("D:2023060801:01").get();
      log.info("修改后,查詢 D:2023060801:01 = " + result01.toString());
      // 4.刪
      long time = 5000;
      log.info("{}秒后,刪除D:2023060801:01.",time/1000);
      ThreadUtil.sleep(time);
      redisTemplate.delete("D:2023060801:01");
      // 5.1設(shè)置超時(方式一)
      redisTemplate.boundValueOps("D:2023060801:02").set("浙江-杭州");
      redisTemplate.expire("D:2023060801:02", 5, TimeUnit.MINUTES);
      // 5.2設(shè)置超時(方式二)
      redisTemplate.boundValueOps("D:2023060801:03").set("浙江-寧波", 5, TimeUnit.MINUTES);
      log.info("RedisTemplate操作Redis集群結(jié)束...");
      return "執(zhí)行成功";
  }
}

3.3測試驗證

使用Postman測試。

請求RUL:http://127.0.0.1:18205/hub-205-redis/hub/example/operateCluster/f01_01

4.使用SpringUtil從Spring中獲取RedisTemplate的方式操作Redis集群

4.1簡要說明

使用SpringUtil從Spring中獲取RedisTemplate的方式,操作Redis集群的增、查、改、刪等操作。

jar包:hutool-all-5.8.12.jar。

類:cn.hutool.extra.spring.SpringUtil

4.2操作示例

@RestController
@RequestMapping("/hub/example/operateCluster")
@Slf4j
public class OperateClusterController {
  @Autowired
  private RedisTemplate redisTemplate;
  /**
   * 使用工具獲取RedisTemplate
   */
  @GetMapping("/f01_02")
  public Object f01_02() {
      log.info("RedisTemplate操作Redis集群開始...");
      RedisTemplate template = SpringUtil.getBean("redisTemplate");
      // 1.增
      template.boundValueOps("D:2023060801:04").set("浙江-杭州");
      // 2.查
      Object result01 = template.boundValueOps("D:2023060801:04").get();
      log.info("查詢 D:2023060801:04 = " + result01.toString());
      // 3.改
      template.boundValueOps("D:2023060801:04").set("浙江-寧波");
      result01 = template.boundValueOps("D:2023060801:04").get();
      log.info("修改后,查詢 D:2023060801:04 = " + result01.toString());
      // 4.刪
      long time = 5000;
      log.info("{}秒后,刪除D:2023060801:04.",time/1000);
      ThreadUtil.sleep(time);
      template.delete("D:2023060801:04");
      // 5.1設(shè)置超時(方式一)
      template.boundValueOps("D:2023060801:05").set("浙江-杭州");
      template.expire("D:2023060801:05", 5, TimeUnit.MINUTES);
      // 5.2設(shè)置超時(方式二)
      template.boundValueOps("D:2023060801:06").set("浙江-寧波", 10, TimeUnit.MINUTES);
      log.info("RedisTemplate操作Redis集群結(jié)束...");
      return "執(zhí)行成功";
  }
}

4.3測試驗證

使用Postman測試。

請求RUL:http://127.0.0.1:18205/hub-205-redis/hub/example/operateCluster/f01_02

5.小結(jié)

使用RedisTemplate操作Redis集群和Redis單機版兩種場景。

差異:在application.yml配置中,使用集群時配置節(jié)點使用spring.redis.cluster.nodes配置IP和端口;單機版時,使用spring.redis.host配置IP和使用spring.redis.port配置端口。

共同:其它方面基本相同。

以上,感謝。

2023年6月8日文章來源地址http://www.zghlxwxcb.cn/news/detail-525244.html

到了這里,關(guān)于在Spring Boot微服務(wù)使用RedisTemplate操作Redis集群的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 在Spring Boot微服務(wù)集成JedisCluster操作Redis集群

    記錄 :448 場景 :在Spring Boot微服務(wù)使用JedisCluster操作Redis集群的緩存和隊列等數(shù)據(jù)類型。 版本 :JDK 1.8,Spring?Boot 2.6.3,redis-6.2.5,jedis-3.7.1。 1.微服務(wù)中 配置Redis信息 1.1在pom.xml添加依賴 pom.xml文件: 解析:在Spring?Boot中默認集成jedis,使用無需加版本號,本例版本3.7.1是Spring?

    2024年02月09日
    瀏覽(90)
  • Redis關(guān)于Hash類型數(shù)據(jù)的操作,使用redisTemplate

    因為在redis的Hash數(shù)據(jù)類型里,有內(nèi)層外層兩個key,而且有內(nèi)層外層兩個map集合,所以暫時先稱外層key為大key,內(nèi)層key為小key,外層map為大map,內(nèi)層map為小map,內(nèi)層value值為value。 1.根據(jù)大key和小key還有value的值,設(shè)置一個value: 2.根據(jù)大key和小key獲取到value值: 3.根據(jù)大key獲取小

    2024年02月11日
    瀏覽(24)
  • Spring Boot 中的 Redis 數(shù)據(jù)操作配置和使用

    Spring Boot 中的 Redis 數(shù)據(jù)操作配置和使用

    Redis(Remote Dictionary Server)是一種高性能的開源內(nèi)存數(shù)據(jù)庫,用于緩存、消息隊列、會話管理和數(shù)據(jù)存儲。在Spring Boot應(yīng)用程序中,Redis被廣泛用于各種用例,包括緩存、持久性存儲和分布式鎖。本文將探討如何在Spring Boot中配置和使用Redis,包括數(shù)據(jù)操作和常見用例。 要在S

    2024年02月07日
    瀏覽(28)
  • Spring Boot 中的 Redis 的數(shù)據(jù)操作配置和使用

    Spring Boot 中的 Redis 的數(shù)據(jù)操作配置和使用

    Redis 是一種高性能的 NoSQL 數(shù)據(jù)庫,它支持多種數(shù)據(jù)結(jié)構(gòu),包括字符串、哈希、列表、集合和有序集合。Redis 還提供了豐富的命令,可以對數(shù)據(jù)進行快速的 CRUD 操作。Spring Boot 是一個基于 Spring 的快速開發(fā)框架,它提供了對 Redis 的集成支持。在本文中,我們將介紹如何在 Spri

    2024年02月11日
    瀏覽(21)
  • 使用Spring Boot操作Redis、ES、MongoDB舉例

    在Spring Boot應(yīng)用程序中操作Redis通常涉及到使用Spring Data Redis,這是一個提供簡便方法來操作Redis的庫。以下是一個基本示例,演示如何在Spring Boot應(yīng)用程序中集成和使用Redis: 步驟 1: 添加依賴項 首先,在你的 pom.xml 文件中添加Spring Data Redis的依賴項。 步驟 2: 配置Redis 在你的

    2024年01月25日
    瀏覽(21)
  • 【微服務(wù)部署】十、使用Docker Compose搭建高可用Redis集群

    ??現(xiàn)如今,業(yè)務(wù)系統(tǒng)對于緩存Redis的依賴似乎是必不可少的,我們可以在各種各樣的系統(tǒng)中看到Redis的身影??紤]到系統(tǒng)運行的穩(wěn)定性,Redis的應(yīng)用和MySQL數(shù)據(jù)庫一樣需要做到高可用部署。 一、Redis 的多種高可用方案 常見的Redis的高可用方案有以下幾種: Redis Replication(主從

    2024年02月07日
    瀏覽(24)
  • 在Spring Boot微服務(wù)使用jasypt-spring-boot加密和解密yml配置文件

    記錄 :424 場景 :在Spring Boot微服務(wù),使用jasypt-spring-boot加密和解密yml配置文件中的配置信息。 版本 :JDK 1.8,Spring?Boot 2.6.3,jasypt-1.9.3,jasypt-spring-boot-2.1.2, jasypt-spring-boot-3.0.5。 開源地址 :https://github.com/ulisesbocchio/jasypt-spring-boot 1.在Spring Boot微服務(wù)使用jasypt-spring-boot-3.0.5版本

    2024年02月09日
    瀏覽(21)
  • Redis哨兵集群搭建及RedisTemplate的哨兵模式配置詳解

    Redis哨兵集群搭建及RedisTemplate的哨兵模式配置詳解

    本文詳細介紹了Redis哨兵集群的原理、架構(gòu)和工作流程,包括哨兵的功能作用、故障恢復(fù)機制、選舉新的master等內(nèi)容。同時,提供了哨兵集群架構(gòu)示意圖和實例準備、配置、啟動、測試的步驟。此外,還介紹了如何在Spring的RedisTemplate中配置哨兵模式,實現(xiàn)Redis主從集群的自動切換和節(jié)點感知。

    2024年02月14日
    瀏覽(27)
  • Spring boot 操作 Redis

    Spring boot 操作 Redis

    ??作者主頁:青花鎖 ??簡介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者??、Java微服務(wù)架構(gòu)公號作者?? ??簡歷模板、學習資料、面試題庫、技術(shù)互助 ??文末獲取聯(lián)系方式 ?? 專欄 描述 Java項目實戰(zhàn) 介紹Java組件安裝、使用;手寫框架等 Aws服務(wù)器實戰(zhàn) Aws Linux服務(wù)器上操作nginx、git、JDK、Vue Jav

    2024年03月20日
    瀏覽(22)
  • 【Java Web】利用Spring整合Redis,配置RedisTemplate

    1. 在config中加入RedisConfig配置類 2. 寫個測試類測試一下 3. 注意事項 Redis不滿足事務(wù)的原子性,原子性是指事務(wù)要么被全部執(zhí)行,要么都不執(zhí)行。但是Redis不支持回滾,就可能會出現(xiàn)有些語句執(zhí)行成功,有些執(zhí)行失敗,因此具備原子性; Redis事務(wù)的三個階段: 開始事務(wù) 命令入

    2024年02月09日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包