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

Redis集群指定主從關(guān)系及動(dòng)態(tài)增刪節(jié)點(diǎn)方式

 更新時(shí)間:2024年01月18日 09:57:06   作者:guotianqing  
這篇文章主要介紹了Redis集群指定主從關(guān)系及動(dòng)態(tài)增刪節(jié)點(diǎn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

集群創(chuàng)建

我們常用以下命令創(chuàng)建集群

redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1

這樣就創(chuàng)建了一個(gè)具有3個(gè)主節(jié)點(diǎn)和3個(gè)從節(jié)點(diǎn)的集群。

其中,我們雖然指定了每個(gè)主節(jié)點(diǎn)都有一個(gè)從節(jié)點(diǎn),但哪個(gè)是7000的從節(jié)點(diǎn),卻是隨機(jī)分配的,直到集群創(chuàng)建完畢,才能確定是7003、7004還是7005。

但是,有時(shí)候,當(dāng)我們只有3臺(tái)物理節(jié)點(diǎn)時(shí),就想要指定主從關(guān)系,從而保證高可用。

而指定主從關(guān)系,就需要手動(dòng)操作了。

指定主從

思路如下

  • 先創(chuàng)建具有三個(gè)主節(jié)點(diǎn)的集群,沒(méi)有從節(jié)點(diǎn)
  • 使用添加節(jié)點(diǎn)的命令添加從節(jié)點(diǎn),這樣就可以在添加時(shí)指定它們的主節(jié)點(diǎn),建立主從對(duì)應(yīng)關(guān)系

具體如下

  • 使用以下命令創(chuàng)建主節(jié)點(diǎn):
redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 --cluster-replicas 0
  • 增加從節(jié)點(diǎn):
redis-cli --cluster add-node 127.0.0.1:7003 127.0.0.1:7000 --cluster-slave --cluster-master-id ***************

其中:

  • slave 表示要添加從節(jié)點(diǎn)
  • cluster-master-id 要添加到哪一個(gè)主節(jié)點(diǎn),id是*****
  • 127.0.0.1:7003 要添加的從節(jié)點(diǎn)
  • 127.0.0.1:7000 原集群中任意節(jié)點(diǎn)

ok,這樣添加完后得到的就是指定的想要的節(jié)點(diǎn)架構(gòu)。

動(dòng)態(tài)增刪節(jié)點(diǎn)

增加主節(jié)點(diǎn)

redis-cli --cluster add-node 127.0.0.1:7008 127.0.0.1:7000

其中:

127.0.0.1:7008 要向集群添加新的節(jié)點(diǎn)127.0.0.1:7000 原集群中任意節(jié)點(diǎn)

這里,節(jié)點(diǎn)已經(jīng)加入集群,但:

由于它還沒(méi)有分配到 hash slots,所以它還沒(méi)有數(shù)據(jù)由于它是還沒(méi)有 hash slots的主節(jié)點(diǎn),所以它不會(huì)參與到從節(jié)點(diǎn)升級(jí)到主節(jié)點(diǎn)的選舉中

此時(shí),執(zhí)行 resharding 指令來(lái)為它分配 hash slots,這會(huì)進(jìn)入交互式命令行,由用戶輸入相關(guān)信息:

redis-cli --cluster reshard 127.0.0.1:7000

只需要指定一個(gè)節(jié)點(diǎn),redis會(huì)自動(dòng)發(fā)現(xiàn)其他節(jié)點(diǎn)。

How many slots do you want to move (from 1 to 16384)?target node id?from what nodes you want to take those keys?

  • 第一個(gè)問(wèn)題需要需要填寫(xiě),如1000.
  • 第二個(gè)問(wèn)題可以通過(guò)命令查看:redis-cli -p 7000 cluster nodes | grep myself
  • 第三個(gè)問(wèn)題:all,這樣會(huì)從每個(gè)節(jié)點(diǎn)上移動(dòng)一部分 hash slots到新節(jié)點(diǎn)

然后開(kāi)始遷移,每遷移一個(gè)key就會(huì)輸出一個(gè)點(diǎn)。

待所有遷移完成后,執(zhí)行下面的指令查看集群是否正常:

redis-cli --cluster check 127.0.0.1:7000

增加從節(jié)點(diǎn)

redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7000 --cluster-slave

該指令與增加主節(jié)點(diǎn)語(yǔ)法一致,與添加主節(jié)點(diǎn)不同的是,顯式指定了是從節(jié)點(diǎn)。

這會(huì)為該從節(jié)點(diǎn)隨機(jī)分配一個(gè)主節(jié)點(diǎn),優(yōu)先從那些從節(jié)點(diǎn)數(shù)目最少的主節(jié)點(diǎn)中選取。

如果要在添加從節(jié)點(diǎn)時(shí)就為其指定主節(jié)點(diǎn),需要指定master-id,執(zhí)行下面的指令(需要替換為真實(shí)的id):

redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7000 --cluster-slave --cluster-master-id 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e

另一種添加從節(jié)點(diǎn)的方式是添加一個(gè)空的主節(jié)點(diǎn),然后把該節(jié)點(diǎn)指定為某個(gè)主節(jié)點(diǎn)的從節(jié)點(diǎn):

cluster replicate 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e

刪除節(jié)點(diǎn)

注意,只能刪除從節(jié)點(diǎn)或者空的主節(jié)點(diǎn)

指令如下:

redis-cli --cluster del-node 127.0.0.1:7000 <node-id>

其中:

  • 127.0.0.1:7000為集群中任意節(jié)點(diǎn)
  • node-id為要?jiǎng)h除的節(jié)點(diǎn)的id

如果想刪除有數(shù)據(jù)的主節(jié)點(diǎn),必須先執(zhí)行 resharding 把它的數(shù)據(jù)分配到其他節(jié)點(diǎn)后再刪除。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Redis 如何批量設(shè)置過(guò)期時(shí)間(PIPLINE的使用)

    Redis 如何批量設(shè)置過(guò)期時(shí)間(PIPLINE的使用)

    有時(shí)候我們并不希望redis的key一直存在。例如緩存,驗(yàn)證碼等數(shù)據(jù),我們希望它們能在一定時(shí)間內(nèi)自動(dòng)的被銷毀。本文就詳細(xì)的介紹一下Redis 如何批量設(shè)置過(guò)期時(shí)間,感興趣的可以了解一下
    2021-11-11
  • Windows下Redis?x64的安裝與使用教程詳解

    Windows下Redis?x64的安裝與使用教程詳解

    Redis是一款內(nèi)存高速緩存數(shù)據(jù)庫(kù),可以滿足我們對(duì)海量數(shù)據(jù)的讀寫(xiě)需求,本文重點(diǎn)給大家介紹Windows下Redis?x64的安裝與使用教程,感興趣的朋友一起看看吧
    2022-03-03
  • redis通過(guò)位圖法記錄在線用戶的狀態(tài)詳解

    redis通過(guò)位圖法記錄在線用戶的狀態(tài)詳解

    這篇文章主要給大家介紹了關(guān)于redis如何通過(guò)位圖法記錄在線用戶的狀態(tài)的相關(guān)資料,文中先對(duì)位圖進(jìn)行了一個(gè)簡(jiǎn)單的介紹,而后通過(guò)示例代碼將實(shí)現(xiàn)的方法介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • redis分布式鎖的go-redis實(shí)現(xiàn)方法詳解

    redis分布式鎖的go-redis實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了redis分布式鎖的go-redis實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì)對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 詳解如何清理redis集群的所有數(shù)據(jù)

    詳解如何清理redis集群的所有數(shù)據(jù)

    這篇文章主要介紹了詳解如何清理redis集群的所有數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 使用Docker部署Redis并配置持久化與密碼保護(hù)的詳細(xì)步驟

    使用Docker部署Redis并配置持久化與密碼保護(hù)的詳細(xì)步驟

    本文將詳細(xì)介紹如何使用 Docker 部署 Redis,并通過(guò) redis.conf 配置文件實(shí)現(xiàn)數(shù)據(jù)持久化和密碼保護(hù),適合在生產(chǎn)環(huán)境中使用,文章通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • redis中bind配置的詳細(xì)步驟

    redis中bind配置的詳細(xì)步驟

    本文主要介紹了redis中bind配置的詳細(xì)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 分布式爬蟲(chóng)處理Redis里的數(shù)據(jù)操作步驟

    分布式爬蟲(chóng)處理Redis里的數(shù)據(jù)操作步驟

    這篇文章主要介紹了分布式爬蟲(chóng)處理Redis里的數(shù)據(jù)操作步驟,數(shù)據(jù)分別存入mongodb和mysql數(shù)據(jù)庫(kù),具體內(nèi)容詳情及實(shí)例代碼大家參考下本文
    2018-03-03
  • 淺談Redis緩存雪崩解決方案

    淺談Redis緩存雪崩解決方案

    本文主要介紹了Redis緩存雪崩解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • SpringBoot整合Mybatis-plus和Redis實(shí)現(xiàn)投票功能

    SpringBoot整合Mybatis-plus和Redis實(shí)現(xiàn)投票功能

    投票功能是一個(gè)非常常見(jiàn)的Web應(yīng)用場(chǎng)景,這篇文章將為大家介紹一下如何將Redis和Mybatis-plus整合到SpringBoot中,實(shí)現(xiàn)投票功能,感興趣的可以了解一下
    2023-05-05

最新評(píng)論