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

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

 更新時間:2024年01月18日 09:57:06   作者:guotianqing  
這篇文章主要介紹了Redis集群指定主從關(guān)系及動態(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é)點時,就想要指定主從關(guān)系,從而保證高可用。

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

指定主從

思路如下

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

具體如下

  • 使用以下命令創(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é)點架構(gòu)。

動態(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,這會進入交互式命令行,由用戶輸入相關(guān)信息:

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é)點后再刪除。

總結(jié)

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

相關(guān)文章

  • Redis存儲斷點續(xù)傳文件狀態(tài)的最佳實踐

    Redis存儲斷點續(xù)傳文件狀態(tài)的最佳實踐

    在斷點續(xù)傳系統(tǒng)中,如何高效地存儲和更新文件上傳狀態(tài)是關(guān)鍵,得益于 Redis 高效的內(nèi)存操作和多種數(shù)據(jù)結(jié)構(gòu)的支持,它非常適合用于存儲上傳過程中的臨時狀態(tài)信息,下面,我們將探討如何利用 Redis 實現(xiàn)文件上傳狀態(tài)的存儲,需要的朋友可以參考下
    2024-12-12
  • 基于redis實現(xiàn)世界杯排行榜功能項目實戰(zhàn)

    基于redis實現(xiàn)世界杯排行榜功能項目實戰(zhàn)

    前段時間,做了一個世界杯競猜積分排行榜。對世界杯64場球賽勝負平進行猜測,猜對+1分,錯誤+0分,一人一場只能猜一次。下面通過本文給大家分享基于redis實現(xiàn)世界杯排行榜功能項目實戰(zhàn),感興趣的朋友一起看看吧
    2018-10-10
  • 設(shè)置Redis最大占用內(nèi)存的實現(xiàn)

    設(shè)置Redis最大占用內(nèi)存的實現(xiàn)

    本文主要介紹了設(shè)置Redis最大占用內(nèi)存的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2022-05-05
  • shell腳本批量導(dǎo)出redis key-value方式

    shell腳本批量導(dǎo)出redis key-value方式

    為避免keys全量掃描導(dǎo)致Redis卡頓,可先通過dump.rdb備份文件在本地恢復(fù),再使用scan命令漸進導(dǎo)出key-value,通過CNT和INTERVAL參數(shù)控制負載,且scan不指定游標可減少阻塞
    2025-08-08
  • Redis與RabbitMQ的區(qū)別對比和結(jié)合應(yīng)用

    Redis與RabbitMQ的區(qū)別對比和結(jié)合應(yīng)用

    RabbitMQ和Redis是兩種流行的消息隊列(Message Queue)和緩存系統(tǒng),在應(yīng)用程序開發(fā)中起著不同的角色和功能,Redis憑借內(nèi)存存儲和豐富數(shù)據(jù)結(jié)構(gòu)實現(xiàn)高速緩存和分布式鎖,RabbitMQ通過消息隊列實現(xiàn)系統(tǒng)解耦和異步處理,二者結(jié)合可應(yīng)對電商秒殺等高并發(fā)場景
    2025-10-10
  • Redis數(shù)據(jù)類型超詳細講解分析

    Redis數(shù)據(jù)類型超詳細講解分析

    Redis是一個開源的內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲系統(tǒng),可以用作數(shù)據(jù)庫、緩存和消息中間件,本文詳細介紹了Redis的各個數(shù)據(jù)類型、內(nèi)部編碼以及一些高級功能,如Geo、HyperLogLog和Stream,需要的朋友可以參考下
    2024-12-12
  • Redis節(jié)省內(nèi)存的十個技巧分享

    Redis節(jié)省內(nèi)存的十個技巧分享

    你是否在工作中遇到過Redis的bigkey導(dǎo)致的內(nèi)存占用嚴重、查詢耗時大大增加?同時bigKey還可能導(dǎo)致Redis實例的崩潰,因為內(nèi)存不夠用了,所以本文給大家介紹了Redis極大節(jié)省內(nèi)存的10個技巧,需要的朋友可以參考下
    2024-04-04
  • 最新評論

    天门市| 托克托县| 石河子市| 哈尔滨市| 兴海县| 宝清县| 余姚市| 呼玛县| 长乐市| 绥芬河市| 尚志市| 庄河市| 湾仔区| 定西市| 桂林市| 姜堰市| 达尔| 兴安县| 广饶县| 马边| 金昌市| 佛坪县| 南溪县| 安达市| 北海市| 调兵山市| 黄骅市| 松潘县| 大化| 井冈山市| 泽库县| 本溪市| 扶绥县| 且末县| 上饶县| 叙永县| 司法| 新泰市| 和林格尔县| 五河县| 慈溪市|