Redis 集群實現分布式緩存的示例操作流程【Redis 系列之五】
〇、前言
Redis 集群的核心優勢在于高可用性、可擴展性和高性能,特別適合需要處理大規模數據和高并發請求的應用場景。
本文先介紹了什么是 Redis 集群,然后通過示例,以手動和自動兩種方式搭建集群,僅供參考。
安裝、配置等詳見博主過往 Redis 相關文章,都在這里了:http://www.rzrgm.cn/hnzhengfy/category/2229717.html
一、Redis 集群簡介
Redis 集群(Redis Cluster)是 Redis 官方在 3.0 版本推出的一套分布式存儲方案。Redis 5.0 版本開始便把自動創建集群工具,集成到 redis-cli 中,因此更推薦使用新版本。
Redis集群是一個分布式實現的網狀結構,提供了數據的自動分片以及對于數據節點故障的高可用性支持。每個節點都通過 TCP 連接跟其他每個節點連接,在一個有 N 個節點的集群中,每個節點都有 N-1 個流出的 TCP 連接,和 N-1 個流入的連接,這些 TCP 連接會永久保持。
如下圖中一個藍色圓為一個 Redis 節點:

下面是 Redis 集群的幾個特點簡介:
- 數據分布
Redis 集群通過哈希槽(hash slot)來分配數據,整個集群共有 16384 個槽位。
所有的單個鍵值對將被均勻的保存到 16384 個哈希槽中的一個,鍵的槽位是通過對 key 鍵進行 CRC16 計算然后取模 16384 得到的。
不同的主節點負責不同的哈希槽范圍,這個范圍可以在集群配置時手動指定。
- 高可用性
Redis 集群使用主從復制模型提供高可用性,每個主節點 master 都有至少一個從節點 slave 作為備份。
自動故障轉移。當某個主節點發生故障時,其對應的從節點會升級為主節點繼續提供服務,從而保證了集群的可用性。
當存在多個從節點時,其所有子節點會廣播一個數據包給集群里的其他主節點來請求選票,一旦某個從節點收到了大多數主節點的回應,那么它就贏得了選舉,被推選為主節點,負責處理之前舊的主節點負責的哈希槽。這一過程是自動完成的,不需要人工干預。
- 擴展性
Redis 集群允許動態添加或移除節點,從而輕松擴展讀寫性能和存儲容量。
添加新節點后,可以手動或者自動將某些哈希槽遷移到新節點上。
Redis 集群的典型應用場景:
- 緩存系統:需要存儲大量熱點數據,并且要求高并發訪問。
- 會話存儲:分布式系統中存儲用戶會話信息。
- 消息隊列:實現高性能的消息傳遞和任務調度。
- 排行榜/計數器:存儲實時更新的排名或計數數據。
- 分布式鎖:在分布式系統中實現高效的鎖機制。
盡管 Redis 集群有很多優點,但也需要注意以下幾點:
- 客戶端兼容性:需要使用支持 Redis 集群模式的客戶端,以正確處理重定向(MOVED 和 ASK)。
- 事務支持有限:Redis 集群不支持跨節點的事務操作。
- 復雜性增加:相比單機 Redis,集群的部署、管理和維護更加復雜。
- 網絡依賴:集群的性能和穩定性依賴于網絡環境,網絡延遲可能會影響性能。
更詳細的介紹見官方文檔:Scale with Redis Cluster Redis cluster specification
二、Redis 集群的搭建
2.1 簡介
依據 Redis Cluster 內部故障轉移實現原理,Redis 集群至少需要 3 個主節點,而每個主節點至少有 1 從節點,因此搭建一個集群至少包含 6 個節點,三主三從。
若為生產環境需要分別部署在 6 臺不同機器上,并需要保證互相之間網絡保持聯通。本文為測試實例,將部署在同一臺測試機上。
目前搭建方式有兩種:
- 手動搭建,通過 cluster 命令一步步實現。
- 自動搭建,使用官方提供的集群管理工具快速搭建。
兩種方式原理一樣,自動搭建方式只是將手動搭建方式中需要執行的 Redis 命令封裝成了可執行程序。
生產環境推薦使用自動搭建方式,更便捷、可靠。
2.2 手動搭建的步驟
2.2.1 分別配置并啟動六個 Redis 服務節點
測試環境為單機部署六個節點,因此需要通過端口來區分。
節點信息預設:
| TCP 端口 | 節點類型 | 從節點對應端口 | 配置文件位置 |
| 7001 | 主 | 9001 | /usr/local/redis-cluster/7001/redis.conf |
| 7002 | 主 | 9002 | /usr/local/redis-cluster/7002/redis.conf |
| 7003 | 主 | 9003 | /usr/local/redis-cluster/7003/redis.conf |
| 9001 | 從 | - | /usr/local/redis-cluster/9001/redis.conf |
| 9002 | 從 | - | /usr/local/redis-cluster/9002/redis.conf |
| 9003 | 從 | - | /usr/local/redis-cluster/9003/redis.conf |
如下涉及到的命令。
下載和安裝 Redis:
[root@www ~]# cd /usr/local
[root@www local]# wget http://download.redis.io/releases/redis-7.2.7.tar.gz # 下載安裝包
[root@www local]# tar -zxvf redis-7.2.7.tar.gz # 解壓
[root@www local]# cd redis-7.2.7
[root@www redis-7.2.7]# make && make install # 執行安裝,直至完成即可
注意:Redis 基于 C 語言開發,故編譯源碼需要 GCC(Linux 下的一個編譯器,這里需要用來編譯 .c 文件)的支持。如機器上未安裝需要先執行命令yum -y install gcc安裝 GCC 編譯工具,然后make distclean清除之前生成的文件,最后make && make install重新編譯安裝。
分別修改六個配置文件:(根據端口號進行不同配置)
bind 10.10.1.1 # 設置當前節點主機地址
port 7001 # 設置客戶端連接監聽端口
pidfile /var/run/redis_7001.pid # 設置 Redis 實例 pid 文件
daemonize yes # 以守護進程運行 Redis 實例
cluster-enabled yes # 啟用集群模式
cluster-node-timeout 15000 # 設置當前節點連接超時毫秒數
cluster-config-file nodes-7001.conf # 設置當前節點集群配置文件路徑
databases 1 # 集群模式,Redis 自動將數據庫的數量從默認的 16 個(databases 配置項)調整為 1 個
protected-mode no # 關閉保護模式,因為配置了具體的 IP,但未配置密碼【可根據實際情況配置】
然后再啟動服務:
[root@www ~]# /usr/local/bin/redis-server /usr/local/redis-cluster/9001/redis.conf # 分別啟動六個 Redis 服務,注意配置文件的路徑
[root@www ~]# ps -ef|grep redis # 查看服務啟動是否成功
root 13663 1 0 10:23 ? 00:00:06 /usr/local/bin/redis-server 10.10.1.1:7001 [cluster]
root 13921 1 0 10:26 ? 00:00:06 /usr/local/bin/redis-server 10.10.1.1:7002 [cluster]
root 13939 1 0 10:26 ? 00:00:06 /usr/local/bin/redis-server 10.10.1.1:7003 [cluster]
root 16183 1 0 11:05 ? 00:00:00 /usr/local/bin/redis-server 10.10.1.1:9001 [cluster]
root 16253 1 0 11:06 ? 00:00:00 /usr/local/bin/redis-server 10.10.1.1:9002 [cluster]
root 16268 1 0 11:06 ? 00:00:00 /usr/local/bin/redis-server 10.10.1.1:9003 [cluster]
root 16281 16200 0 11:06 pts/1 00:00:00 grep --color=auto redis
[root@www ~]#
# 若服務未啟動成功,可能是端口被占用
lsof -i:9001
# lsof 命令安裝:
yum install lsof -y
2.2.2 節點握手
節點握手(Node Handshake)是指集群中的各個節點相互識別并建立連接的過程。這是集群啟動和正常運作的基礎步驟之一,確保了所有節點能夠相互通信,并共同維護整個集群的狀態。
因為集群中的節點在創建之初都是相互獨立的,只有通過節點握手操作,才可以將全部節點關聯起來。
# 節點握手的命令格式:
cluster meet ip port
Redis 集群各個節點之間都是有聯系的,但并不需要通過語句把全部的節點都進行握手,因為這些 TCP 連接是可以互相傳導的。例如 A 和 B 之間有關聯,B 和 C 之間有關聯,那么 A 和 C 之間就會自動創建連接,無需重復創建。
因此,只需要在 7001 節點,把其他五個節點都連接上即可。
如下操作,先進入 7001 節點,然后通過命令連接其他 5 個節點:
# 首先,進入 A 節點
[root@www ~]# /usr/local/bin/redis-cli -h 10.10.1.1 -p 7001
10.10.1.1:7001>
# 然后,連接其他五個節點
10.10.1.1:7001> cluster meet 10.10.1.1 7002
OK
10.10.1.1:7001> cluster meet 10.10.1.1 7003
OK
10.10.1.1:7001> cluster meet 10.10.1.1 9003
OK
10.10.1.1:7001> cluster meet 10.10.1.1 9002
OK
10.10.1.1:7001> cluster meet 10.10.1.1 9001
OK
10.10.1.1:7001>
# 配置完成后,可以通過 cluster nodes 命令,查看節點間的連接情況
# 查看 7002 端口:
[root@www ~]# /usr/local/bin/redis-cli -h 10.10.1.1 -p 7002 cluster nodes
6da31e7a6e89f7cdeb67294b557a2c13aa70a96d 10.10.1.1:9002@19002 master - 0 1744100953776 4 connected
95da38d0420e5908951a1b069e7eb09aba3e0fc4 10.10.1.1:7001@17001 master - 0 1744100955785 1 connected
14e23d0018458d16c30f3ecd6f154b1e54cfef6c 10.10.1.1:9003@19003 master - 0 1744100953000 3 connected
656696a751c65c702b40b4429353918cac6ca1bc 10.10.1.1:7003@17003 master - 0 1744100954781 2 connected
c1920f7b5d6de3763bb33fe0b801ffda8d5e4219 10.10.1.1:7002@17002 myself,master - 0 1744100952000 0 connected
50927b3da6dd835093fc02c045bb791685393e69 10.10.1.1:9001@19001 master - 0 1744100953000 5 connected
# 查看 9003 端口:
[root@www ~]# /usr/local/bin/redis-cli -h 10.10.1.1 -p 9003 cluster nodes
50927b3da6dd835093fc02c045bb791685393e69 10.10.1.1:9001@19001 master - 0 1744100973213 5 connected
c1920f7b5d6de3763bb33fe0b801ffda8d5e4219 10.10.1.1:7002@17002 master - 0 1744100973000 0 connected
95da38d0420e5908951a1b069e7eb09aba3e0fc4 10.10.1.1:7001@17001 master - 0 1744100974216 1 connected
6da31e7a6e89f7cdeb67294b557a2c13aa70a96d 10.10.1.1:9002@19002 master - 0 1744100972000 4 connected
14e23d0018458d16c30f3ecd6f154b1e54cfef6c 10.10.1.1:9003@19003 myself,master - 0 1744100971000 3 connected
656696a751c65c702b40b4429353918cac6ca1bc 10.10.1.1:7003@17003 master - 0 1744100974000 2 connected
[root@www ~]#
根據輸出結果可以看出,每個節點都保持有 5 個連接,也就標志這個握手配置完成。
2.2.3 分配槽位
槽位就是 Redis 集群中的哈希槽(Hash Slot)機制,它可以實現數據的分布式存儲和負載均衡。
什么是哈希槽?在 Redis 集群中,整個鍵空間被劃分為16384個哈希槽(編號從0到16383)。每個節點負責一部分哈希槽,當客戶端向集群中的某個節點發送命令時,如果該命令涉及的鍵屬于這個節點所負責的哈希槽,則直接處理;如果不屬于,則會返回一個重定向信息給客戶端,指示它去正確的節點執行操作。
當完成握手操作后,此時的集群并未是上線運行狀態,可以通過cluster info命令來查看集群當前狀態。
[root@www ~]# /usr/local/bin/redis-cli -h 10.10.1.1 -p 7001 cluster info
cluster_state:fail
cluster_slots_assigned:0
cluster_slots_ok:0
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:0
cluster_current_epoch:5
cluster_my_epoch:1
cluster_stats_messages_ping_sent:1670
cluster_stats_messages_pong_sent:1604
cluster_stats_messages_meet_sent:5
cluster_stats_messages_sent:3279
cluster_stats_messages_ping_received:1604
cluster_stats_messages_pong_received:1675
cluster_stats_messages_received:3279
total_cluster_links_buffer_limit_exceeded:0
[root@www ~]#
通過第一行中的cluster_state:fail,可以看出當前集群狀態為不可用。
這是因為各個節點的槽位尚未指定。只有分配了槽位數據請求才可以根據槽位配置到達指定的數據庫。
# 配置槽位的命令語法:
cluster addslots slot [slot ...]
# 根據設計,需要給三個主節點 A、B、C 分配槽位,那么就均分全部 16383 個槽位
[root@www ~]# /usr/local/bin/redis-cli -h 10.10.1.1 -p 7001 cluster addslots {0..5461}
OK
[root@www ~]# /usr/local/bin/redis-cli -h 10.10.1.1 -p 7002 cluster addslots {5462..10922}
OK
[root@www ~]# /usr/local/bin/redis-cli -h 10.10.1.1 -p 7003 cluster addslots {10923..16383}
OK
[root@www ~]# /usr/local/bin/redis-cli -h 10.10.1.1 -p 7001 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 # 3 個配置了哈希槽的節點為主節點
cluster_current_epoch:5
cluster_my_epoch:1
cluster_stats_messages_ping_sent:199
cluster_stats_messages_pong_sent:208
cluster_stats_messages_meet_sent:5
cluster_stats_messages_sent:412
cluster_stats_messages_ping_received:208
cluster_stats_messages_pong_received:204
cluster_stats_messages_received:412
total_cluster_links_buffer_limit_exceeded:0
[root@www ~]#
通過最后輸出的第一行中的cluster_state:ok,可以看出當前集群狀態為可用。
注意:如果哈希槽配置錯誤的話,需要將全部節點刪掉,重新開啟六個服務員、握手、配置哈希槽。
2.2.4 主從復制
Redis 集群中的主從復制(Master-Slave Replication)是實現高可用性和數據冗余的重要機制。通過主從復制,Redis 能夠在主節點(Master)發生故障時,將其中一個從節點(Slave)提升為主節點,從而保證服務的連續性。
槽位分配完成后,當某一個節點異常后,整個 Redis 服務就會掛掉,此時就需要給節點分主從了。
# 主從配置的語法:
redis-cli -h <ip-slave> -p <port-slave> cluster replicate <node-id-master>
# 其中的 node-id 可以通過 cluster node 查詢,如下第一列:
[root@www ~]# /usr/local/bin/redis-cli -h 10.10.1.1 -p 7001 cluster nodes
ec08659c0c30d9070ed49a76fcc7a40cfecd0558 10.10.1.1:7002@17002 master - 0 1744111736908 0 connected 5462-10922
6be04389be627b46af71dfd65cb99bf0f8b5b8d6 10.10.1.1:7003@17003 master - 0 1744111735903 2 connected 10923-16383
e8dc3ba5fab05104fe63cb2401bd1969f7617ac6 10.10.1.1:7001@17001 myself,master - 0 1744111734000 1 connected 0-5461
97c82692d437136e4f417fe117cfe611e7446a9e 10.10.1.1:9001@19001 master - 0 1744111734899 5 connected
5b063fd32127fecc84308f31489dc93823d015e2 10.10.1.1:9002@19002 master - 0 1744111736000 4 connected
7e85fb3b01f045d98dc2f5e07dcd700dc5921faf 10.10.1.1:9003@19003 master - 0 1744111736000 3 connected
# 根據設計,7001-主【9001-從】、7002-主【9002-從】、7003-主【9003-從】
[root@www ~]# /usr/local/bin/redis-cli -h 10.10.1.1 -p 9001 cluster replicate e8dc3ba5fab05104fe63cb2401bd1969f7617ac6
OK
[root@www ~]# /usr/local/bin/redis-cli -h 10.10.1.1 -p 9002 cluster replicate ec08659c0c30d9070ed49a76fcc7a40cfecd0558
OK
[root@www ~]# /usr/local/bin/redis-cli -h 10.10.1.1 -p 9003 cluster replicate 6be04389be627b46af71dfd65cb99bf0f8b5b8d6
OK
# 最后再查看下集群狀態,三主三從
[root@www ~]# /usr/local/bin/redis-cli -h 10.10.1.1 -p 7002 cluster nodes
ec08659c0c30d9070ed49a76fcc7a40cfecd0558 10.10.1.1:7002@17002 myself,master - 0 1744112243000 0 connected 5462-10922
e8dc3ba5fab05104fe63cb2401bd1969f7617ac6 10.10.1.1:7001@17001 master - 0 1744112242968 1 connected 0-5461
7e85fb3b01f045d98dc2f5e07dcd700dc5921faf 10.10.1.1:9003@19003 slave 6be04389be627b46af71dfd65cb99bf0f8b5b8d6 0 1744112243000 2 connected
5b063fd32127fecc84308f31489dc93823d015e2 10.10.1.1:9002@19002 slave ec08659c0c30d9070ed49a76fcc7a40cfecd0558 0 1744112241000 0 connected
97c82692d437136e4f417fe117cfe611e7446a9e 10.10.1.1:9001@19001 slave e8dc3ba5fab05104fe63cb2401bd1969f7617ac6 0 1744112244977 1 connected
6be04389be627b46af71dfd65cb99bf0f8b5b8d6 10.10.1.1:7003@17003 master - 0 1744112243973 2 connected 10923-16383
[root@www ~]#
至此,測試集群就搭建完成了。
2.3 自動搭建
Redis 官方提供了關于集群的命令,使用簡單、便捷。
以--cluster參數提供使用,其中create命令可以用來創建集群。但是建議使用 5.0 及以上版本,因為從 5.0 版本開始,這兩個命令才被集成到 redis-cli 工具。之前版本還需要安裝 Ruby 語言執行環境。
在執行自動搭建命令前,也同樣需要先把 6 個節點服務開起來,詳見手動搭建部分。
服務開啟后就可以使用自動搭建命令來一鍵搭建:
/usr/local/bin/redis-cli --cluster create 10.10.1.1:7001 10.10.1.1:7002 10.10.1.1:7003 10.10.1.1:9001 10.10.1.1:9002 10.10.1.1:9003 --cluster-replicas 1
如下執行結果:(其中有一步需要輸入yes 確認,建議先仔細檢查生成的配置是否符合預期,特別是槽位分配和主從關系)
# 執行命令
[root@www bin]# /usr/local/bin/redis-cli --cluster create 10.10.1.1:7001 10.10.1.1:7002 10.10.1.1:7003 10.10.1.1:9001 10.10.1.1:9002 10.10.1.1:9003 --cluster-replicas 1
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 10.10.1.1:9002 to 10.10.1.1:7001
Adding replica 10.10.1.1:9003 to 10.10.1.1:7002
Adding replica 10.10.1.1:9001 to 10.10.1.1:7003
>>> Trying to optimize slaves allocation for anti-affinity
[WARNING] Some slaves are in the same host as their master
M: af1ff734b47df915722ffa9a79586743db36c2d2 10.10.1.1:7001
slots:[0-5460] (5461 slots) master
M: 9305f12e963336ca227273e47fce3e2044a244de 10.10.1.1:7002
slots:[5461-10922] (5462 slots) master
M: fc0a9cb203a7ad95252c3728ac8de9eb87c367d4 10.10.1.1:7003
slots:[10923-16383] (5461 slots) master
S: b3f919bf46306463a5d81ce9d45464045eeeac41 10.10.1.1:9001
replicates af1ff734b47df915722ffa9a79586743db36c2d2
S: e97b87fb6cc894767557fc9c439ba9ddbdf0c144 10.10.1.1:9002
replicates 9305f12e963336ca227273e47fce3e2044a244de
S: 69e7a3f91b08671a594579ac95fc755bf394a212 10.10.1.1:9003
replicates fc0a9cb203a7ad95252c3728ac8de9eb87c367d4
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 10.10.1.1:7001)
M: af1ff734b47df915722ffa9a79586743db36c2d2 10.10.1.1:7001
slots:[0-5460] (5461 slots) master
1 additional replica(s)
M: 9305f12e963336ca227273e47fce3e2044a244de 10.10.1.1:7002
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
S: e97b87fb6cc894767557fc9c439ba9ddbdf0c144 10.10.1.1:9002
slots: (0 slots) slave
replicates 9305f12e963336ca227273e47fce3e2044a244de
S: 69e7a3f91b08671a594579ac95fc755bf394a212 10.10.1.1:9003
slots: (0 slots) slave
replicates fc0a9cb203a7ad95252c3728ac8de9eb87c367d4
M: fc0a9cb203a7ad95252c3728ac8de9eb87c367d4 10.10.1.1:7003
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
S: b3f919bf46306463a5d81ce9d45464045eeeac41 10.10.1.1:9001
slots: (0 slots) slave
replicates af1ff734b47df915722ffa9a79586743db36c2d2
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
# 至此自動部署完成!
# 下邊查看生成結果:
[root@www bin]# /usr/local/bin/redis-cli -h 10.10.1.1 -p 7001 cluster nodes
9305f12e963336ca227273e47fce3e2044a244de 10.10.1.1:7002@17002 master - 0 1744282476755 2 connected 5461-10922
af1ff734b47df915722ffa9a79586743db36c2d2 10.10.1.1:7001@17001 myself,master - 0 1744282473000 1 connected 0-5460
e97b87fb6cc894767557fc9c439ba9ddbdf0c144 10.10.1.1:9002@19002 slave 9305f12e963336ca227273e47fce3e2044a244de 0 1744282475750 2 connected
69e7a3f91b08671a594579ac95fc755bf394a212 10.10.1.1:9003@19003 slave fc0a9cb203a7ad95252c3728ac8de9eb87c367d4 0 1744282474000 3 connected
fc0a9cb203a7ad95252c3728ac8de9eb87c367d4 10.10.1.1:7003@17003 master - 0 1744282474000 3 connected 10923-16383
b3f919bf46306463a5d81ce9d45464045eeeac41 10.10.1.1:9001@19001 slave af1ff734b47df915722ffa9a79586743db36c2d2 0 1744282476000 1 connected
[root@www bin]# /usr/local/bin/redis-cli -h 10.10.1.1 -p 7002 cluster nodes
af1ff734b47df915722ffa9a79586743db36c2d2 10.10.1.1:7001@17001 master - 0 1744282484000 1 connected 0-5460
fc0a9cb203a7ad95252c3728ac8de9eb87c367d4 10.10.1.1:7003@17003 master - 0 1744282487101 3 connected 10923-16383
e97b87fb6cc894767557fc9c439ba9ddbdf0c144 10.10.1.1:9002@19002 slave 9305f12e963336ca227273e47fce3e2044a244de 0 1744282485093 2 connected
b3f919bf46306463a5d81ce9d45464045eeeac41 10.10.1.1:9001@19001 slave af1ff734b47df915722ffa9a79586743db36c2d2 0 1744282485000 1 connected
69e7a3f91b08671a594579ac95fc755bf394a212 10.10.1.1:9003@19003 slave fc0a9cb203a7ad95252c3728ac8de9eb87c367d4 0 1744282486097 3 connected
9305f12e963336ca227273e47fce3e2044a244de 10.10.1.1:7002@17002 myself,master - 0 1744282485000 2 connected 5461-10922
[root@www bin]#
自動配置命令執行時可能會有個錯誤提示:
[ERR] Node 10.10.1.1:7001 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
這是因為在手動配置測試時,可能生成了一些數據文件,需要手動刪除。
[root@www ~]# cd /usr/local/bin
[root@www bin]# ls
dump.rdb nodes-7001.conf nodes-7003.conf nodes-9001.conf nodes-9003.conf redis-benchmark redis-check-rdb redis-sentinel
node nodes-7002.conf nodes-9002.conf npm redis-check-aof redis-cli redis-server
[root@www bin]# rm -rf *.conf *.rdb # -r:遞歸刪除 -f:強制刪除
[root@www bin]# ls
node npm redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
刪除完在執行自動創建命令即可成功創建。
本文來自博客園,作者:橙子家,歡迎微信掃碼關注博主【橙子家czzj】,有任何疑問歡迎溝通,共同成長!
轉載本文請注明原文鏈接:http://www.rzrgm.cn/hnzhengfy/p/18784827/redis5

浙公網安備 33010602011771號