亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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直接拉取運行了,所以需要提前準(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é)點

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é)點的是容器內(nèi)部ip:
cluster-announce-ip <當(dāng)前節(jié)點IP>

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

啟動集群

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

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

2.創(chuàng)建集群

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

redis-cli --cluster create \
<節(jié)點1的IP>:6379 \
<節(jié)點2的IP>:6379 \
<節(jié)點3的IP>:6379 \
<節(jié)點4的IP>:6379 \
<節(jié)點5的IP>:6379 \
<節(jié)點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é)點IP>:6379
          - <哨兵2節(jié)點IP>:6379
          - <哨兵3節(jié)點IP>:6379
          - <哨兵4節(jié)點IP>:6379
          - <哨兵5節(jié)點IP>:6379
          - <哨兵6節(jié)點IP>:6379
      lettuce:
        cluster:
          refresh:
            adaptive: true

3.配置讀寫分離

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

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

4.完成,可直接使用 RedisTemplate

擴展重新分配哈希槽

執(zhí)行:

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

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

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

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

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

完畢。

節(jié)點管理

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

  • 關(guān)于Redis庫存超賣問題的分析

    關(guān)于Redis庫存超賣問題的分析

    在高并發(fā)場景下進行優(yōu)惠券秒殺測試時,發(fā)現(xiàn)由于并發(fā)操作導(dǎo)致了超賣問題,即理論上只能賣出100個優(yōu)惠券,實際賣出了102個,分析原因,是因為在高并發(fā)環(huán)境下,多個線程同時操作庫存,導(dǎo)致數(shù)據(jù)不一致,提出了兩種解決方案:悲觀鎖和樂觀鎖
    2024-11-11
  • redis哨兵模式說明與搭建詳解

    redis哨兵模式說明與搭建詳解

    這篇文章主要介紹了redis哨兵模式說明與搭建詳解,需要的朋友可以參考下
    2023-01-01
  • redis執(zhí)行redis命令的方法教程

    redis執(zhí)行redis命令的方法教程

    這篇文章主要給大家介紹了在redis中執(zhí)行redis命令的方法教程,文中詳細(xì)介紹了關(guān)于Redis 命令及在遠(yuǎn)程服務(wù)上執(zhí)行命令的方法,介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • Redis?中使用?list,streams,pub/sub?幾種方式實現(xiàn)消息隊列的問題

    Redis?中使用?list,streams,pub/sub?幾種方式實現(xiàn)消息隊列的問題

    這篇文章主要介紹了Redis?中使用?list,streams,pub/sub?幾種方式實現(xiàn)消息隊列,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • mac安裝redis全過程

    mac安裝redis全過程

    文章內(nèi)容主要介紹了如何從官網(wǎng)下載指定版本的Redis,以及如何在自定義目錄下安裝和啟動Redis,還提到了如何修改Redis的密碼和配置文件,以及使用RedisInsight進行可視化管理,最后,總結(jié)了一些常用的Redis命令
    2025-01-01
  • RedisAPI原子性操作及原理解析

    RedisAPI原子性操作及原理解析

    這篇文章主要介紹了RedisAPI原子性操作及原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • 關(guān)于redis狀態(tài)監(jiān)控和性能調(diào)優(yōu)詳解

    關(guān)于redis狀態(tài)監(jiān)控和性能調(diào)優(yōu)詳解

    Redis是一種高級key-value數(shù)據(jù)庫。它跟memcached類似,不過數(shù)據(jù)可以持久化,而且支持的數(shù)據(jù)類型很豐富。有字符串,鏈表、哈希、集合和有序集合5種。下面這篇文章主要給大家介紹了關(guān)于redis狀態(tài)監(jiān)控和性能調(diào)優(yōu)的相關(guān)資料,需要的朋友可以參考下。
    2017-09-09
  • redis中hash數(shù)據(jù)結(jié)構(gòu)及說明

    redis中hash數(shù)據(jù)結(jié)構(gòu)及說明

    這篇文章主要介紹了redis中hash數(shù)據(jù)結(jié)構(gòu)及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Redis如何部署哨兵

    Redis如何部署哨兵

    本文主要介紹了Redis如何部署哨兵,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Redis事務(wù)與數(shù)據(jù)持久化方式

    Redis事務(wù)與數(shù)據(jù)持久化方式

    該文檔主要介紹了Redis事務(wù)和持久化機制,事務(wù)通過將多個命令打包執(zhí)行,而持久化則通過快照(RDB)和追加式文件(AOF)兩種方式將內(nèi)存數(shù)據(jù)保存到磁盤,以防止數(shù)據(jù)丟失
    2025-01-01

最新評論