最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis結(jié)合 Docker 搭建集群并整合SpringBoot的詳細(xì)過程

 更新時間:2024年06月07日 16:28:17   作者:羽飛落  
這篇文章主要介紹了Redis結(jié)合Docker搭建集群并整合SpringBoot的詳細(xì)過程,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧

軟件版本

Redis 7.2.5

Docker 26.1.3

準(zhǔn)備工作

由于docker直接拉取運(yùn)行了,所以需要提前準(zhǔn)備配置文件

Index of /releases/ (redis.io)

下載后,把redis-7.2.5.tar.gz\redis-7.2.5.tar\redis-7.2.5\里的

redis.conf

復(fù)制出來

 概覽

結(jié)構(gòu)如上圖所示,準(zhǔn)備6個服務(wù)器。

 配置各節(jié)點(diǎn)

1.創(chuàng)建 redis-cluster 目錄

2.創(chuàng)建 redis-cluster/docker-compose.yml 文件

services:
  redis-cluster:
    image: redis:7.2.5
    ports:
      - "6379:6379"
      - "16379:16379"
    volumes:
      - ./data:/data
    restart: always
    command: redis-server /data/redis.conf

3.創(chuàng)建 redis-cluster/data 目錄

4.配置文件復(fù)制到 redis-cluster/data/redis.conf

5.添加/覆蓋配置項

#注釋掉這項:
#bind 127.0.0.1 -::1
logfile "/data/redis.log"
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
#這個是 Docker 關(guān)鍵配置,不然發(fā)給其他節(jié)點(diǎn)的是容器內(nèi)部ip:
cluster-announce-ip <當(dāng)前節(jié)點(diǎn)IP>

6.在六個節(jié)點(diǎn)分別執(zhí)行上述5個步驟

啟動集群

1.啟動所有節(jié)點(diǎn)

cd 到 redis-cluster 目錄,執(zhí)行 docker compose up -d

2.創(chuàng)建集群

進(jìn)入任意節(jié)點(diǎn)的 redis 容器內(nèi),執(zhí)行如下命令:

redis-cli --cluster create \
<節(jié)點(diǎn)1的IP>:6379 \
<節(jié)點(diǎn)2的IP>:6379 \
<節(jié)點(diǎn)3的IP>:6379 \
<節(jié)點(diǎn)4的IP>:6379 \
<節(jié)點(diǎn)5的IP>:6379 \
<節(jié)點(diǎn)6的IP>:6379 \
--cluster-replicas 1

按提示輸入yes

創(chuàng)建成功提示如下:

整合SpringBoot

1.添加依賴

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

2.添加配置

spring:
  data:
    redis:
      cluster:
        nodes:
          - <哨兵1節(jié)點(diǎn)IP>:6379
          - <哨兵2節(jié)點(diǎn)IP>:6379
          - <哨兵3節(jié)點(diǎn)IP>:6379
          - <哨兵4節(jié)點(diǎn)IP>:6379
          - <哨兵5節(jié)點(diǎn)IP>:6379
          - <哨兵6節(jié)點(diǎn)IP>:6379
      lettuce:
        cluster:
          refresh:
            adaptive: true

3.配置讀寫分離

不建議配,除非主節(jié)點(diǎn)壓力很大,主節(jié)點(diǎn)新數(shù)據(jù)更新到從節(jié)點(diǎn)需要時間,這段時間會出現(xiàn)數(shù)據(jù)不一致。

@Configuration
public class RedisConfig {
    @Bean
    public LettuceClientConfigurationBuilderCustomizer clientConfigurationBuilderCustomizer() {
        return builder -> builder.readFrom(ReadFrom.REPLICA_PREFERRED);
    }
}

4.完成,可直接使用 RedisTemplate

擴(kuò)展重新分配哈希槽

執(zhí)行:

redis-cli --cluster reshard <任意節(jié)點(diǎn)IP>:6379

輸入分配的哈希槽數(shù)量:

輸入分配給的節(jié)點(diǎn)ID:

輸入用于分配哈希槽的節(jié)點(diǎn),可以直接輸入all

確認(rèn)分配計劃輸入yes

完畢。

節(jié)點(diǎn)管理

# 添加新主節(jié)點(diǎn)
redis-cli --cluster add-node <新節(jié)點(diǎn)IP>:6379 <任意節(jié)點(diǎn)IP>:6379
# 添加新從節(jié)點(diǎn)
# 由于沒指定主節(jié)點(diǎn),新添加的從節(jié)點(diǎn)會分配給副本最少的主節(jié)點(diǎn)
redis-cli --cluster add-node <新節(jié)點(diǎn)IP>:6379 <任意節(jié)點(diǎn)IP>:6379 --cluster-slave
# 添加新從節(jié)點(diǎn),并指定主節(jié)點(diǎn)
redis-cli --cluster add-node <新節(jié)點(diǎn)IP>:6379 <任意節(jié)點(diǎn)IP>:6379 --cluster-slave --cluster-master-id <主節(jié)點(diǎn)ID>
# 刪除節(jié)點(diǎn)
# 從節(jié)點(diǎn)可直接刪除,主節(jié)點(diǎn)必須先轉(zhuǎn)移哈希槽
redis-cli --cluster del-node <任意節(jié)點(diǎn)IP>:6379 <待刪節(jié)點(diǎn)ID>
# 查看所有集群節(jié)點(diǎn)信息
redis-cli --cluster check <任意節(jié)點(diǎn)IP>:6379

參考資料

Scale with Redis Cluster | Docs

99_springboot整合redis之連接集群-下集_嗶哩嗶哩_bilibili

到此這篇關(guān)于Redis 結(jié)合 Docker 搭建集群并整合SpringBoot的文章就介紹到這了,更多相關(guān)Redis Docker 集群整合SpringBoot內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Redis中群集三種模式的實現(xiàn)

    Redis中群集三種模式的實現(xiàn)

    Redis群集有三種模式,分別是主從同步/復(fù)制、哨兵模式、Cluster,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-11-11
  • Redis分布式鎖的幾種實現(xiàn)方法

    Redis分布式鎖的幾種實現(xiàn)方法

    本文主要介紹了Redis分布式鎖的幾種實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • redis學(xué)習(xí)之RDB、AOF與復(fù)制時對過期鍵的處理教程

    redis學(xué)習(xí)之RDB、AOF與復(fù)制時對過期鍵的處理教程

    這篇文章主要給大家介紹了關(guān)于redis學(xué)習(xí)之RDB、AOF與復(fù)制時對過期鍵處理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用redis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Redis 7持久化RDB和AOF的原理機(jī)制講解(圖文教程)

    Redis 7持久化RDB和AOF的原理機(jī)制講解(圖文教程)

    Redis是一個基于內(nèi)存的數(shù)據(jù)庫,由于內(nèi)存的易失性(斷電后數(shù)據(jù)會丟失),Redis提供了持久化機(jī)制:將內(nèi)存中的數(shù)據(jù)保存到磁盤中,確保數(shù)據(jù)在Redis服務(wù)重啟或崩潰后能夠恢復(fù),通過持久化,可以避免數(shù)據(jù)丟失,提高數(shù)據(jù)的可靠性,Redis提供兩種持久化方式:RDB和AOF
    2026-01-01
  • Redis3.2.6配置文件詳細(xì)中文說明

    Redis3.2.6配置文件詳細(xì)中文說明

    本文為大家分享了Redis3.2.6配置文件詳細(xì)中文說明,非常詳細(xì)收藏起來以后工作有用
    2018-10-10
  • 使用Redis快速實現(xiàn)共享Session登錄的詳細(xì)步驟

    使用Redis快速實現(xiàn)共享Session登錄的詳細(xì)步驟

    在Web開發(fā)中,Session通常用于存儲用戶的會話信息,允許用戶在多個頁面之間保持登錄狀態(tài),Redis是一個開源的高性能鍵值數(shù)據(jù)庫,廣泛用于緩存、消息隊列、會話存儲等場景,本文給大家介紹了如何使用Redis實現(xiàn)共享Session登錄,需要的朋友可以參考下
    2025-08-08
  • Redis持久化與主從復(fù)制的實踐

    Redis持久化與主從復(fù)制的實踐

    這篇文章主要介紹了Redis持久化與主從復(fù)制的實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Redis的4種緩存模式分享

    Redis的4種緩存模式分享

    這篇文章主要介紹了Redis的4種緩存模式分享,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-07-07
  • Redis事務(wù)為什么不支持回滾

    Redis事務(wù)為什么不支持回滾

    事務(wù)是關(guān)系型數(shù)據(jù)庫的特征之一,那么作為 Nosql 的代表 Redis 中有事務(wù)嗎?如果有,那么 Redis 當(dāng)中的事務(wù)又是否具備關(guān)系型數(shù)據(jù)庫的 ACID 四大特性,本文就來詳細(xì)介紹一下
    2021-08-08
  • Redis Key大量集中失效的問題解決

    Redis Key大量集中失效的問題解決

    在 Redis 的實際應(yīng)用中,Key 的過期和失效是常見的場景,當(dāng)系統(tǒng)中存在大量 Key 集中過期時,可能會對服務(wù)器性能造成巨大沖擊,甚至引發(fā)服務(wù)中斷,本文就來介紹一下Redis Key大量集中失效的問題解決,感興趣的可以了解一下
    2025-09-09

最新評論

张家口市| 云霄县| 嵊泗县| 静海县| 磐石市| 且末县| 尚志市| 正安县| 尚志市| 龙游县| 丰都县| 万宁市| 宁夏| 福贡县| 周口市| 海林市| 甘肃省| 永城市| 民县| 磐石市| 诸城市| 仁布县| 库车县| 弥勒县| 榆林市| 太仆寺旗| 河东区| 勐海县| 广安市| 河津市| 察雅县| 荆门市| 海门市| 乌鲁木齐县| 新津县| 灯塔市| 乐山市| 克什克腾旗| 阳西县| 金川县| 酒泉市|