欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Redis集群指定主從關系及動態(tài)增刪節(jié)點方式

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

集群創(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)建了一個具有3個主節(jié)點和3個從節(jié)點的集群。

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

但是,有時候,當我們只有3臺物理節(jié)點時,就想要指定主從關系,從而保證高可用。

而指定主從關系,就需要手動操作了。

指定主從

思路如下

  • 先創(chuàng)建具有三個主節(jié)點的集群,沒有從節(jié)點
  • 使用添加節(jié)點的命令添加從節(jié)點,這樣就可以在添加時指定它們的主節(jié)點,建立主從對應關系

具體如下

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

其中:

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

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

動態(tài)增刪節(jié)點

增加主節(jié)點

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

其中:

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

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

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

此時,執(zhí)行 resharding 指令來為它分配 hash slots,這會進入交互式命令行,由用戶輸入相關信息:

redis-cli --cluster reshard 127.0.0.1:7000

只需要指定一個節(jié)點,redis會自動發(fā)現(xiàn)其他節(jié)點。

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

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

然后開始遷移,每遷移一個key就會輸出一個點。

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

redis-cli --cluster check 127.0.0.1:7000

增加從節(jié)點

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

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

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

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

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

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

cluster replicate 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e

刪除節(jié)點

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

指令如下:

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

其中:

  • 127.0.0.1:7000為集群中任意節(jié)點
  • node-id為要刪除的節(jié)點的id

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

總結

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

相關文章

  • Redis 如何批量設置過期時間(PIPLINE的使用)

    Redis 如何批量設置過期時間(PIPLINE的使用)

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

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

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

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

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

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

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

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

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

    使用Docker部署Redis并配置持久化與密碼保護的詳細步驟

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

    redis中bind配置的詳細步驟

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

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

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

    淺談Redis緩存雪崩解決方案

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

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

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

最新評論