在 Redis 3.0 版本后正式推出 Redis 集群模式,該模式是 Redis 的分布式的解決方案,是一個(gè)提供在多個(gè) Redis 節點(diǎn)間共享數據的程序集,且 Redis 集群是去中心化的,它的每個(gè) Master 節點(diǎn)都可以進(jìn)行讀寫(xiě)數據,每個(gè)節點(diǎn)都擁有平等的關(guān)系,每個(gè)節點(diǎn)都保持各自的數據和整個(gè)集群的狀態(tài)。
Redis 集群設計的主要目的是讓 Redis 數據存儲能夠線(xiàn)性擴展,通過(guò)分區來(lái)提供一定程度的可用性,在實(shí)際環(huán)境中當某個(gè)節點(diǎn)宕機或者不可達的情況下其可以繼續處理命令。但是,如果發(fā)生較大故障(例如,大多數主站不可用時(shí))時(shí)集群會(huì )停止運行,即 redis 集群不能保證數據的強一致性。
Redis 集群沒(méi)有使用一致性 Hash, 而是引入了”哈希槽”的概念。Redis 集群有 16384 個(gè)哈希槽,每個(gè) key 通過(guò) CRC16 校驗后對 16384 取模來(lái)決定放置哪個(gè)槽,集群的每個(gè)節點(diǎn)負責一部分 hash 槽。
舉個(gè)例子,比如當前集群有3個(gè)節點(diǎn),那么:
這種結構很容易”添加”或者”刪除”節點(diǎn). 比如如果我想新添加個(gè)節點(diǎn) D,我需要從節點(diǎn) A, B, C 中得部分槽轉移到節點(diǎn) D 上, 如果我想移除節點(diǎn) A,則需要將 A 中的槽移到 B 和 C 節點(diǎn)上,然后將沒(méi)有任何槽的 A 節點(diǎn)從集群中移除即可。由于從一個(gè)節點(diǎn)將哈希槽移動(dòng)到另一個(gè)節點(diǎn)并不會(huì )停止服務(wù),所以無(wú)論添加刪除或者改變某個(gè)節點(diǎn)的哈希槽的數量都不會(huì )造成集群不可用的狀態(tài)。
Redis 支持多個(gè) key 操作,只要這些 key 在一個(gè)單個(gè)命令中執行(或者一個(gè)事務(wù),或者 Lua 腳本執行),那么它們就屬于相同的 Hash 槽。你也可以用 hash tags 命令強制多個(gè) key 都在相同的 hash 槽中。
集群中的主從模型
在 Redis 集群模式下,為了防止集群部分節點(diǎn)因宕機等情況造成不可用,故而 Redis 集群使用了主從復制模式。在該模式下要求 Redis 集群至少要存在六個(gè)節點(diǎn),其中三個(gè)節點(diǎn)為主節點(diǎn),能夠對外提供讀寫(xiě)。還有三個(gè)節點(diǎn)為從節點(diǎn),會(huì )同步其對應的主節點(diǎn)的數據。當某個(gè)主節點(diǎn)出現問(wèn)題不可用時(shí),Redis 將通過(guò)選舉算法從主節點(diǎn)對應的從節點(diǎn)中選擇一個(gè)節點(diǎn)(主節點(diǎn)存在多個(gè)從節點(diǎn)的情況下),將其更改為一個(gè)新的主節點(diǎn),且能夠對外提供服務(wù)。
例如,在存在 A,B,C 三個(gè)主節點(diǎn)和其對應的 (A1、A2),(B1、B2),(C1、C2) 六個(gè)從節點(diǎn),共九個(gè)節點(diǎn)中,如果節點(diǎn) A 節點(diǎn)掛掉,那么其對應的從節點(diǎn) A1、A2 節點(diǎn)將通過(guò)選舉算法,選擇其中一個(gè)節點(diǎn)提升為主節點(diǎn),以確保集群能夠正常服務(wù)。不過(guò)當 A1、A2 兩個(gè)從節點(diǎn)或者或者半數以上主節點(diǎn)不可用時(shí),那么集群也是不可用的。
在部署 Redis 集群模式時(shí),至少需要六個(gè)節點(diǎn)組成集群才能保證集群的可用性。
(1)、全量復制與增量復制
在 Redis 主從復制中,分為”全量復制”和”增量復制”兩種數據同步方式:
(2)、記錄復制位置的偏移量
info replication
命令查詢(xún) master_repl_offset
偏移量信息。info replication
命令查詢(xún) slave_repl_offset
偏移量信息。(3)、復制積壓緩沖區
復制積壓緩沖區(backlog)是保存在主節點(diǎn)上的一個(gè)固定長(cháng)度的隊列,默認大小為 1MB,當主節點(diǎn)有連接的從節點(diǎn)時(shí)被創(chuàng )建,這時(shí)主節點(diǎn)響應寫(xiě)命令時(shí),不但會(huì )把命令發(fā)給從節點(diǎn),還會(huì )寫(xiě)入復制積壓緩沖區,作為寫(xiě)命令的備份。
除了存儲寫(xiě)命令,復制積壓緩沖區中還存儲了其中的每個(gè)字節對應的復制偏移量(offset) 。由于復制積壓緩沖區定長(cháng)且先進(jìn)先出,所以它保存的是主節點(diǎn)最近執行的寫(xiě)命令,時(shí)間較早的寫(xiě)命令會(huì )被擠出緩沖區。
(4)、節點(diǎn)運行的 ID
(1)、psync 命令
從節點(diǎn)使用 psync 從主節點(diǎn)獲取 runid 與 offset。
主節點(diǎn)會(huì )根據自身情況返回響應信息,可能是 FULLRESYNC runid offset 觸發(fā)全量復制,可能是 CONTINUE 觸發(fā)增量復制。
(2)、psync 觸發(fā)全量復制
從節點(diǎn)使用 psync 命令完成部分復制和全量復制功能:
當從節點(diǎn)第一次連接主節點(diǎn)時(shí)候,執行全量復制:
① Slave 節點(diǎn)發(fā)送 psync? - 1 命令,表示要求 Master 執行數據同步;
② Master 檢測到?jīng)]有 offset ,是第一次執行復制,執行全量復制,就發(fā)送 FULLRESYNC {runid} {offset} 命令,將 runid 和 offset 發(fā)送到 slave 節點(diǎn)。
③ Slave 節點(diǎn)保存 Master 節點(diǎn)傳遞的 runid 與 offset 信息。
④ Master 節點(diǎn)執行 bgsave 生成 RBD 快照文件,并使用緩沖區記錄從現在開(kāi)始執行的全部命令。
⑤ Master 節點(diǎn)發(fā)送 RBD 文件到 Slave 節點(diǎn)。
⑥ Master 節點(diǎn)發(fā)送 BUFFER 緩存區記錄的寫(xiě)命令到 Slave 節點(diǎn)。
⑦ Slave 節點(diǎn)清空舊數據。
⑧ Slave 節點(diǎn)載入 Master 節點(diǎn)傳入的 RBD 文件。
(2)、psync 觸發(fā)增量復制
當從節點(diǎn)與主節點(diǎn)發(fā)送中斷后,從節點(diǎn)會(huì )重新連接主節點(diǎn),這時(shí)會(huì )觸發(fā)增量復制,過(guò)程如下:
① Slave 節點(diǎn)使用 psync 發(fā)送 runid 和 offset 值。
② Master 節點(diǎn)驗證 Slave 節點(diǎn)發(fā)送的 runid 是否和自己相同:
③ 滿(mǎn)足存在對應 offset 這個(gè)條件后,則驗證緩存區中的 offset 值是否和 Slave 節點(diǎn)發(fā)送的 offset 相同:
④ Master 節點(diǎn)從復制緩存區拷貝數據,從 Slave 節點(diǎn)發(fā)送的 offset 開(kāi)始,到 Master 節點(diǎn)緩存區記錄的 offset 結束,將這個(gè)范圍內的數據給 Slave 節點(diǎn)。
Redis 在官方文檔中提及,其并不能保證數據的強一致性,即 Redis 集群在特定的條件下寫(xiě)入的數據可能會(huì )丟失,主要原因是因為 Redis 集群使用了異步復制模式,其寫(xiě)入的操作過(guò)程如下:
執行順序如下:
① 客戶(hù)端向任意一臺主節點(diǎn)寫(xiě)入一條命令;
② 主節點(diǎn)對向客戶(hù)端回復命令執行的狀態(tài);
③ 主節點(diǎn)將寫(xiě)操作命令傳遞給他的從節點(diǎn);
Redis 集群對性能和一致性之間做出權衡,設置主節點(diǎn)在接收到客戶(hù)端寫(xiě)命令后再將執行的命令發(fā)送到各個(gè)從節點(diǎn)進(jìn)行同步,這個(gè)過(guò)程是異步操作,且主節點(diǎn)不會(huì )等待從節點(diǎn)回復信息就立即回復客戶(hù)端命令的執行狀態(tài)。這樣減少同步操作,可以很大提高系統的執行速度,避免等待從節點(diǎn)回復消息這個(gè)過(guò)程成為系統性能的瓶頸。
然而,因為主節點(diǎn)不等待從節點(diǎn)收到信息后進(jìn)行回復,就將命令的執行狀態(tài)回復給了客戶(hù)端,那么在節點(diǎn)出現問(wèn)題時(shí)很可能導致出現數據丟失問(wèn)題,比如客戶(hù)端向主節點(diǎn)發(fā)送一條命令,然后主節點(diǎn)將該命令異步發(fā)送到它的從節點(diǎn)進(jìn)行數據備份,然后立即回復客戶(hù)端命令的執行狀態(tài)。如果在這個(gè)過(guò)程中,主節點(diǎn)出現問(wèn)導致宕機,且從節點(diǎn)在處理主節點(diǎn)發(fā)送過(guò)來(lái)的同步數據時(shí),也發(fā)生錯誤。這時(shí)正好趕上主節點(diǎn)宕機等不可用情況,那么從節點(diǎn)將轉換為新的主節點(diǎn),在之前主節點(diǎn)執行的命令將丟失。
在 Redis 集群中,數據節點(diǎn)提供兩個(gè) TCP 端口,在配置防火墻時(shí)需要同時(shí)開(kāi)啟下面兩類(lèi)端口:
集群的節點(diǎn)之間通訊采用 Gossip 協(xié)議,節點(diǎn)根據固定頻率(每秒10次)定時(shí)任務(wù)進(jìn)行判斷,當集群狀態(tài)發(fā)生變化,如增刪節點(diǎn)、槽狀態(tài)變更時(shí),會(huì )通過(guò)節點(diǎn)間通訊同步集群狀態(tài),使集群收斂。集群間發(fā)送的 Gossip 消息有下面五種消息類(lèi)型:
在 Redis 集群模式下也不可能百分百保證集群可用性,當發(fā)生不可預知的事件導致 Redis 集群將進(jìn)入失敗狀態(tài),在這種狀態(tài)下 Redis 集群將不能正常提供服務(wù)。其中進(jìn)入失敗狀態(tài)的條件主要為:
① 全部節點(diǎn)都宕機,集群將進(jìn)入 fail 狀態(tài);
② 半數以上主節點(diǎn)不可用,集群將進(jìn)入 fail 狀態(tài);
③ 任意主節點(diǎn)掛掉,且該主節點(diǎn)沒(méi)有對應的從節點(diǎn)或者從節點(diǎn)也全部掛掉,集群將進(jìn)入 fail 狀態(tài);
Redis 集群重新分片(新增/移除節點(diǎn))機制:
新增節點(diǎn):別的節點(diǎn)上的槽分一些出來(lái)給新的節點(diǎn)
刪除節點(diǎn):刪除節點(diǎn)的槽分給別的節點(diǎn)
但這些操作是需要手動(dòng)完成的,可以在不停止服務(wù)器的情況下執行。
復制結構只支持單層結構,不支持樹(shù)型結構。
不支持多數據庫,只能使用 0 數據庫,執行 select 0 命令;
鍵是數據分區的最小粒度,不能將一個(gè)很大的鍵值對映射到不同的節點(diǎn);
鍵事務(wù)支持有限,當多個(gè)鍵分布在不同節點(diǎn)時(shí)無(wú)法使用事務(wù),同一節點(diǎn)才能支持事務(wù);
鍵的批量操作支持有限,比如 mset, mget 命令,如果多個(gè)鍵映射在不同的槽中,就不能正常使用這些命令了;
我們即將創(chuàng )建一個(gè)示例集群部署。在繼續之前,讓我們介紹Redis Cluster在redis.conf文件中引入的配置參數。
cluster-config-file: 設置 Redis 集群配置信息及狀態(tài)的存儲位置,該文件由 Redis 集群生成,我們只能指定其存儲的位置。
cluster-node-timeout: 設置 Redis 群集節點(diǎn)的通信的超時(shí)時(shí)間;
cluster-migration-barrier: 主節點(diǎn)需要的最小從節點(diǎn)數,只有達到這個(gè)數,主節點(diǎn)失敗時(shí),它從節點(diǎn)才會(huì )進(jìn)行遷移。
cluster-enabled: 是否開(kāi)啟 Redis 集群模式。
yes:?jiǎn)⒂?Redis 群集;
no:不啟用集群模式;
cluster-require-full-coverage: 設置集群可用性。
yes:表示當負責一個(gè)插槽的主庫下線(xiàn),且沒(méi)有相應的從庫進(jìn)行故障恢復時(shí),集群不可用,下面論證該情況。
no:表示當負責一個(gè)插槽的主庫下線(xiàn)且沒(méi)有相應的從庫進(jìn)行故障恢復時(shí),集群仍然可用,下面論證該情況。
cluster-slave-validity-factor:
0:則無(wú)論從節點(diǎn)與主節點(diǎn)失聯(lián)多久,從節點(diǎn)都會(huì )嘗試升級成主節點(diǎn)。
正數:則 cluster-node-timeout
*
cluster-slave-validity-factor
得到的時(shí)間,是從節點(diǎn)與主節點(diǎn)失聯(lián)后,此從節點(diǎn)數據有效的最長(cháng)時(shí)間,超過(guò)這個(gè)時(shí)間,從節點(diǎn)不會(huì )啟動(dòng)故障遷移。假設 cluster-node-timeout=5
,cluster-slave-validity-factor=10
,則如果從節點(diǎn)跟主節點(diǎn)失聯(lián)超過(guò)50秒,此從節點(diǎn)不能成為主節點(diǎn)。
這里對待部署的 Redis 集群的節點(diǎn)進(jìn)行分配,將其部署到不同的機器上,安排如下:
提前創(chuàng )建好用于存儲 Redis 的配置文件和持久化數據的目錄:
第一臺服務(wù)器 192.168.2.11
中執行創(chuàng )建存儲目錄命令:
$ mkdir -p /var/lib/redis/7000 & mkdir -p /var/lib/redis/7003
第二臺服務(wù)器 192.168.2.12
中執行創(chuàng )建存儲目錄命令:
$ mkdir -p /var/lib/redis/7001 & mkdir -p /var/lib/redis/7004
第三臺服務(wù)器 192.168.2.13
中執行創(chuàng )建存儲目錄命令:
$ mkdir -p /var/lib/redis/7002 & mkdir -p /var/lib/redis/7005
第一臺服務(wù)器 192.168.2.11
配置文件:
## 7000 端口配置文件 $ cat > /var/lib/redis/7000/redis.conf << EOF port 7000 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes daemonize no protected-mode no pidfile /data/redis.pid EOF ## 7003 端口配置文件 $ cat > /var/lib/redis/7003/redis.conf << EOF port 7003 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes daemonize no protected-mode no pidfile /data/redis.pid EOF
第二臺服務(wù)器 192.168.2.12
配置文件
## 7001 端口配置:redis.conf $ cat > /var/lib/redis/7001/redis.conf << EOF port 7001 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes daemonize no protected-mode no pidfile /data/redis.pid EOF ## 7004 端口配置:redis-7004.conf $ cat > /var/lib/redis/7004/redis.conf << EOF port 7004 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes daemonize no protected-mode no pidfile /data/redis.pid EOF
第三臺服務(wù)器 192.168.2.13
配置文件
## 7002 端口配置:redis-7002.conf $ cat > /var/lib/redis/7002/redis.conf << EOF port 7002 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes daemonize no protected-mode no pidfile /data/redis.pid EOF ## 7005 端口配置:redis-7005.conf $ cat > /var/lib/redis/7005/redis.conf << EOF port 7005 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes daemonize no protected-mode no pidfile /data/redis.pid EOF
三臺服務(wù)器中提前拉取 Redis 鏡像,避免在執行運行時(shí)候還得拉取鏡像,導致運行慢。
$ docker pull redis:6.0.8
三臺服務(wù)器分別執行 Docker 運行命令來(lái)啟動(dòng) Redis 鏡像。這里需要注意的是,不同服務(wù)器間的 Docker 是不能相互通信的,所有這里我們設置啟動(dòng)的容器網(wǎng)絡(luò )模式為 host 模式,這樣容器不會(huì )創(chuàng )建虛擬網(wǎng)卡,而是使用宿主機的網(wǎng)絡(luò )。
第一臺服務(wù)器 192.168.2.11
執行如下命令
## 運行 Redis 鏡像 7000 端口 $ docker run -d -v /var/lib/redis/7000:/data \ --cpus=1 --memory=2GB --memory-swap=0 \ --privileged=true \ --restart=always \ --net host \ --name redis-7000 \ redis:6.0.8 redis-server /data/redis.conf ## 運行 Redis 鏡像 7003 端口 $ docker run -d -v /var/lib/redis/7003:/data \ --cpus=1 --memory=2GB --memory-swap=0 \ --privileged=true \ --restart=always \ --net host \ --name redis-7003 \ redis:6.0.8 redis-server /data/redis.conf
第二臺服務(wù)器 192.168.2.12
執行如下命令
## 運行 Redis 鏡像 7001 端口 $ docker run -d -v /var/lib/redis/7001:/data \ --cpus=1 --memory=2GB --memory-swap=0 \ --privileged=true \ --restart=always \ --net host \ --name redis-7001 \ redis:6.0.8 redis-server /data/redis.conf ## 運行 Redis 鏡像 7004端口 $ docker run -d -v /var/lib/redis/7004:/data \ --cpus=1 --memory=2GB --memory-swap=0 \ --privileged=true \ --restart=always \ --net host \ --name redis-7004 \ redis:6.0.8 redis-server /data/redis.conf
第三臺服務(wù)器 192.168.2.13
執行如下命令:
## 運行 Redis 鏡像 7002 端口 $ docker run -d -v /var/lib/redis/7002:/data \ --cpus=1 --memory=2GB --memory-swap=0 \ --privileged=true \ --restart=always \ --net host \ --name redis-7002 \ redis:6.0.8 redis-server /data/redis.conf ## 運行 Redis 鏡像 7005 端口 $ docker run -d -v /var/lib/redis/7005:/data \ --cpus=1 --memory=2GB --memory-swap=0 \ --privileged=true \ --restart=always \ --net host \ --name redis-7005 \ redis:6.0.8 redis-server /data/redis.conf
隨意進(jìn)入一臺服務(wù)器,使用 Redis 鏡像的 redis-cli 工具執行創(chuàng )建集群命令使各個(gè) Redis 組成集群,這里本人進(jìn)入第一臺服務(wù)器 192.168.2.11
中,使用端口為 7000
的 Redis
端鏡像,可以執行下面命令:
-p:指定連接 Redis 的端口;
create:創(chuàng )建 Redis 集群;
--cluster:使用 Redis 集群模式命令;
--cluster-replicas:指定副本數(slave 數量);
$ docker exec -it redis-7000 \ redis-cli -p 7000 --cluster create \ 192.168.2.11:7000 192.168.2.12:7001 192.168.2.13:7002 \ 192.168.2.11:7003 192.168.2.12:7004 192.168.2.13:7005 \ --cluster-replicas 1
然后會(huì )看到下面信息:
>>> Performing hash slots allocation on 6 nodes... Master[0] -> Slots 0 - 5460 Master[1] -> Slots 5461 - 10922 Master[2] -> Slots 10923 - 16383 Adding replica 192.168.2.12:7004 to 192.168.2.11:7000 Adding replica 192.168.2.13:7005 to 192.168.2.12:7001 Adding replica 192.168.2.11:7003 to 192.168.2.13:7002 M: 5e50824c55d4df42db4d2987796f0c0b468c273f 192.168.2.11:7000 slots:[0-5460] (5461 slots) master M: 36565e0273fd62921aa1f2d85c5f7ac98a5b9466 192.168.2.12:7001 slots:[5461-10922] (5462 slots) master M: 0cc1aaf960defae7332e9256dd25ee5e5c99e65f 192.168.2.13:7002 slots:[10923-16383] (5461 slots) master S: 42d6e3979395ba93cd1352b6d17044f6b25d9379 192.168.2.11:7003 replicates 0cc1aaf960defae7332e9256dd25ee5e5c99e65f S: ac5d34b57a8f73dabc60d3a56469055ec64fcde7 192.168.2.12:7004 replicates 5e50824c55d4df42db4d2987796f0c0b468c273f S: 470b7ff823f10a309fb07311097456210506f6d8 192.168.2.13:7005 replicates 36565e0273fd62921aa1f2d85c5f7ac98a5b9466 Can I set the above configuration? (type 'yes' to accept): yes >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join . >>> Performing Cluster Check (using node 192.168.2.11:7000) M: 5e50824c55d4df42db4d2987796f0c0b468c273f 192.168.2.11:7000 slots:[0-5460] (5461 slots) master 1 additional replica(s) S: 470b7ff823f10a309fb07311097456210506f6d8 192.168.2.13:7005 slots: (0 slots) slave replicates 36565e0273fd62921aa1f2d85c5f7ac98a5b9466 S: 42d6e3979395ba93cd1352b6d17044f6b25d9379 192.168.2.11:7003 slots: (0 slots) slave replicates 0cc1aaf960defae7332e9256dd25ee5e5c99e65f S: ac5d34b57a8f73dabc60d3a56469055ec64fcde7 192.168.2.12:7004 slots: (0 slots) slave replicates 5e50824c55d4df42db4d2987796f0c0b468c273f M: 0cc1aaf960defae7332e9256dd25ee5e5c99e65f 192.168.2.13:7002 slots:[10923-16383] (5461 slots) master 1 additional replica(s) M: 36565e0273fd62921aa1f2d85c5f7ac98a5b9466 192.168.2.12:7001 slots:[5461-10922] (5462 slots) master 1 additional replica(s) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
進(jìn)入 Redis 鏡像內部并折傭 redis-cli 命令:
-p:指定連接 Redis 的端點(diǎn);
-c:使用集群模式;
$ docker exec -it redis-7000 redis-cli -p 7000 -c
查看集群信息:
> cluster info cluster_state:ok cluster_slots_assigned:16384 cluster_slots_ok:16384 cluster_slots_pfail:0 cluster_slots_fail:0 cluster_known_nodes:6 cluster_size:3 cluster_current_epoch:6 cluster_my_epoch:1 cluster_stats_messages_ping_sent:866 cluster_stats_messages_pong_sent:854 cluster_stats_messages_sent:1720 cluster_stats_messages_ping_received:849 cluster_stats_messages_pong_received:866 cluster_stats_messages_meet_received:5 cluster_stats_messages_received:1720
查看集群節點(diǎn)信息:
> cluster nodes 470b7ff823f10a309fb07311097456210506f6d8 192.168.2.13:7005@17005 slave 36565e0273fd62921aa1f2d85c5f7ac98a5b9466 0 1600267217000 2 connected 42d6e3979395ba93cd1352b6d17044f6b25d9379 192.168.2.11:7003@17003 slave 0cc1aaf960defae7332e9256dd25ee5e5c99e65f 0 1600267218171 3 connected ac5d34b57a8f73dabc60d3a56469055ec64fcde7 192.168.2.12:7004@17004 slave 5e50824c55d4df42db4d2987796f0c0b468c273f 0 1600267216161 1 connected 0cc1aaf960defae7332e9256dd25ee5e5c99e65f 192.168.2.13:7002@17002 master - 0 1600267218070 3 connected 10923-16383 36565e0273fd62921aa1f2d85c5f7ac98a5b9466 192.168.2.12:7001@17001 master - 0 1600267217163 2 connected 5461-10922 5e50824c55d4df42db4d2987796f0c0b468c273f 192.168.2.11:7000@17000 myself,master - 0 1600267217000 1 connected 0-5460
參考地址:
到此這篇關(guān)于通過(guò)Docker部署Redis 6.x集群的方法的文章就介紹到這了,更多相關(guān)Docker部署Redis 6.x集群內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站