redis 5.0.3 講解、集群搭建


REDIS

 

一 、redis 介紹

不管你是從事Python、Java、Go、PHP、Ruby等等... Redis都應該是一個比較熟悉的中間件。而大部分經常寫業務代碼的程序員,實際工作中或許只用到了set value、get value兩個操作。

1.redis 概念:

Redis是一個開源的底層使用C語言編寫的key-value存儲數據庫。可用於緩存、事件發布訂閱、高速隊列等場景。而且支持豐富的數據類型:string(字符串)、hash(哈希)、list(列表)、set(無序集合)、zset(sorted set:有序集合)

Redis 在3.0版本前只支持單實例模式,雖然支持主從模式、哨兵模式部署來解決單點故障,但是現在互聯網企業動輒大幾百G的數據,可完全是沒法滿足業務的需求,所以,Redis 在 3.0 版本以后就推出了集群模式。

2.Redis在項目中的應用場景

2.1、緩存數據 最常用,對經常需要查詢且變動不是很頻繁的數據 常稱作熱點數據。

2.2、消息隊列 相當於消息訂閱系統,比如ActiveMQ、RocketMQ。如果對數據有較高一致性要求時,還是建議使用MQ)

2.3、計數器 比如統計點擊率、點贊率,redis具有原子性,可以避免並發問題

2.4、電商網站信息 大型電商平台初始化頁面數據的緩存。比如去哪兒網購買機票的時候首頁的價格和你點進去的價格會有差異。

2.5、熱點數據 比如新聞網站實時熱點、微博熱搜等,需要頻繁更新。總數據量比較大的時候直接從數據庫查詢會影響性能

3.數據類型

概念 說明
String(字符串) string是redis最基本的類型,你可以理解成與Memcached一模一樣的類型,一個key對應一個value。string類型是二進制安全的。意思是redis的string可以包含任何數據。比如jpg圖片或者序列化的對象 。 string類型是Redis最基本的數據類型,一個鍵最大能存儲512MB。
Hash(哈希) Redis hash 是一個鍵值對集合。Redis hash是一個string類型的field和value的映射表,hash特別適合用於存儲對象。每個 hash 可以存儲 2 *32 - 1鍵值對(40多億)。
List(列表) Redis 列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素導列表的頭部(左邊)或者尾部(右邊)。列表最多可存儲 2*32 - 1元素 (4294967295, 每個列表可存儲40多億)。
Set(無序集合) Redis的Set是string類型的無序集合。集合是通過哈希表實現的,所以添加,刪除,查找的復雜度都是O(1)。集合中最大的成員數為 2* 32 - 1(4294967295, 每個集合可存儲40多億個成員)。

| zset(sorted set:有序集合) | Redis zset 和 set 一樣也是string類型元素的集合,且不允許重復的成員。不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。 zset的成員是唯一的,但分數(score)卻可以重復。 |

 

4.Redis數據類型應用場景

前面提到了Redis支持五種豐富的數據類型,那么在不同場景下的選擇

String

字符串是最常用的數據類型,他能夠存儲任何類型的字符串,當然也包括二進制、JSON化的對象、甚至是base64編碼之后的圖片。在Redis中一個字符串最大的容量為512MB,可以說是無所不能了。

Hash

常用作存儲結構化數據、比如論壇系統中可以用來存儲用戶的Id、昵稱、頭像、積分等信息。如果需要修改其中的信息,只需要通過Key取出Value進行反序列化修改某一項的值,再序列化存儲到Redis中,Hash結構存儲,由於Hash結構會在單個Hash元素在不足一定數量時進行壓縮存儲,所以可以大量節約內存。這一點在String結構里是不存在的。

List

List的實現為一個雙向鏈表,即可以支持反向查找和遍歷,更方便操作,不過帶來了部分額外的內存開銷,Redis 內部的很多實現,包括發送緩沖隊列等也都是用的這個數據結構。另外,可以利用 lrange 命令,做基於 Redis 的分頁功能,性能極佳,用戶體驗好。

Set

set 對外提供的功能與 list 類似是一個列表的功能,特殊之處在於 set 是可以自動排重的,當你需要存儲一個列表數據,又不希望出現重復數據時,這個時候就可以選擇使用set。

Sorted Set

可以按照某個條件的權重進行排序,比如可以通過點擊數做出排行榜的數據應用。

5 優勢和缺點

5.1優勢:

\1. 性能極高– Redis能讀的速度是110000次/s,寫的速度是81000次/s 。

\2. 豐富的數據類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操作。

\3. 原子 – Redis的所有操作都是原子性的,同時Redis還支持對幾個操作全並后的原子性執行。

\4. 豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性。

 

5.2 缺點:

\1、由於是內存數據庫,所以單台機器存儲的數據量是有限的,需要開發者提前預估,需要及時刪除不需要的數據。 \2、當修改Redis的數據之后需要將持久化到硬盤的數據重新加入到內容中,時間比較久,這個時候Redis是無法正常運行的。

5.3對比:Redis與其他key-value存儲有什么不同

\1. Redis有着更為復雜的數據結構並且提供對他們的原子性操作,這是一個不同於其他數據庫的進化路徑。Redis的數據類型都是基於基本數據結構的同時對程序員透明,無需進行額外的抽象。

\2. Redis運行在內存中但是可以持久化到磁盤,所以在對不同數據集進行高速讀寫時需要權衡內存,應為數據量不能大於硬件內存。在內存數據庫方面的另一個優點是, 相比在磁盤上相同的復雜的數據結構,在內存中操作起來非常簡單,這樣Redis可以做很多內部復雜性很強的事情。 同時,在磁盤格式方面他們是緊湊的以追加的方式產生的,因為他們並不需要進行隨機訪問。

二、安裝redis

1.源碼安裝redis

#yum -y install gcc
# wget http://download.redis.io/releases/redis-5.0.3.tar.gz
# tar xzf redis-5.0.3.tar.gz
# cd redis-5.0.3
# make
 //默認端口 6379

 

1.1修改redis的配置文件

# pwd
/usr/local/redis/redis-5.0.3
​
# vim redis.conf
daemonize yes //把no 修改為yes,如果不修改,無法在后台繼續運行

 

1.2啟動redis

# pwd
/usr/local/redis/redis-5.0.3/src
#./redis-server ../redis.conf

通過客戶端測試
# ./redis-cli
127.0.0.1:6379> set • value [expiration EX seconds|PX milliseconds] [NX|XX]
[root@LWJ01 src]# ./redis-cli
127.0.0.1:6379> ping   //查看服務是否運行
PONG
127.0.0.1:6379>

1.3設置開機自動啟動

#vim /usr/lib/systemd/system/redis.service 
[Unit]
Description=Redis Server
After=network.target

[Service]
ExecStart=/usr/local/redis/redis-5.0.3/src/redis-server /usr/local/redis/redis-5.0.3/redis.conf  --daemonize no
ExecStop=/usr/local/redis/redis-5.0.3/src/redis-cli -p 6379 shutdown
Restart=always

[Install]
WantedBy=multi-user.target

//redis-cli、redis-server和redis.conf文件的位置根據你實際放置的位置設定,--daemonize no這個參數一定要帶上,即使你配置文件里設置daemonize的值是yes,不然設置的服務不生效。

# systemctl daemon-reload
# systemctl start redis.service
# systemctl enable redis.service

2.通過yum 安裝redis

# yum install redis

下載fedora的epel倉庫
# yum install epel-release

2.1 文件路徑

#pwd
/usr/bin //redis-server redis-cli 都在這個路徑下面
#pwd
/etc   //redis.conf 配置文件的路徑

2.2 啟動服務

# systemctl start redis

使用配置文件啟動 redis
# redis-server /etc/redis.conf &

查看進程
# ps -ef | grep redis
redis    13782     1  0 10:30 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
root     13813  8097  0 10:38 pts/0    00:00:00 grep --color=auto redis

查看端口
# ss -anpt | grep 6379
LISTEN     0      128    127.0.0.1:6379                     *:*                   users:(("redis-server",pid=13782,fd=4))

2.3 客戶端登錄

# redis-cli -h 127.0.0.1 -p 6379
## redis-cli -h 127.0.0.1 -p 6379 -a "123456" //設置后密碼的登錄
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>

2.4 修改配置文件

# vim /etc/redis.conf
bind 127.0.0.1 //注釋掉此行,不然只能本地訪問 #bind 127.0.0.1
protected-mode yes   保護模式修改為no #product-mode no
requirepass 123456 修改默認密碼,查找 requirepass foobared 將 foobared 修改為你的密碼

2.5 客戶端進行驗證

# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379>

然后輸入info,提示必須驗證

輸入用戶名密碼 (auth  123456)
#127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> info

通過key * 查看所有的鍵(因為還沒有使用,所以是空)
#127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379>

2.6通過桌面客戶端連接redis

redis desktop manager

https://redisdesktop.com/download (官網 )

github地址:https://github.com/uglide/RedisDesktopManager/releases

百度網盤:http://pan.baidu.com/s/1kU8sY3P

 

 

2.7 redis 備份和恢復

redis 數據的路徑(其實備份和恢復就是cp)

導出:Redis寫數據時先寫到一個temp文件中,然后再把temp文件重命名為預定義的文件,所以即使Redis在運行,也可以直接用cp命令拷貝這個文件。

恢復:關閉Redis后直接覆蓋掉demo.rdb,然后重啟即可。

通過配置文件查看
#vim /etc/redis.conf
dbfilename dump.rdb
dir var/lib/redis


進行備份:
# redis-cli -h 192.168.25.65 -p 6379 -a "123456"
192.168.25.65:6379> ping
PONG
192.168.25.65:6379> SAVE //該命令將在 redis 安裝目錄中創建dump.rdb文件。
OK

進行恢復:
192.168.25.65:6379> CONFIG GET dir   //命令 CONFIG GET dir 輸出的 redis 備份目錄為 /var/lib/redis。
1) "dir"
2) "/var/lib/redis"
192.168.25.65:6379>

接下來的操作:
1.)停止redis服務
2.)拷貝備份文件到 /usr/local/redis/bin目錄下
3.)重新啟動redis服務

 

三 redis 集群搭建

簡要說明:

2018年十月 Redis 發布了穩定版本的 5.0 版本,推出了各種新特性,其中一點是放棄 Ruby的集群方式,改為 使用 C語言編寫的 redis-cli的方式,是集群的構建方式復雜度大大降低。

https://redis.io/topics/cluster-tutorial Redis官網查看集群搭建方式

以下步驟是在一台 Linux 服務器上搭建有6個節點的 Redis集群。(因為redis 集群最低6個節點,不然無法創建)

1 源碼安裝

#yum -y install gcc
# wget http://download.redis.io/releases/redis-5.0.3.tar.gz
# tar xzf redis-5.0.3.tar.gz
# cd redis-5.0.3
# make
//默認端口 6379

2.創建6個Redis配置文件,並配置

# pwd
/usr/local/redis/redis-5.0.3
#mkdir 6380 6381 6382 6383 6384 6385

然后拷貝原來的配置文件到目錄下,然就在到相應目錄下進行重命名
#cp redis.conf 6380   mv redis.conf redis-6380.conf
#cp redis.conf 6381   mv redis.conf redis-6381.conf
#cp redis.conf 6382   mv redis.conf redis-6382.conf
#cp redis.conf 6383   mv redis.conf redis-6383.conf
#cp redis.conf 6384   mv redis.conf redis-6384.conf
#cp redis.conf 6385   mv redis.conf redis-6385.conf

修改所有的配置文件 (加端口號的以此類推)
具體修改:
(1)port 6380  #綁定端口

(2)bind 192.168.25.64  #定IP也(可以注釋掉,這樣任何桌面客戶端都可以連接了)

(3)dir /usr/local/redis-cluster/3680 #指定文件存放路徑 ( .rdb .aof nodes-xxxx.conf 這樣的文件都會在此路徑下)

(4)cluster-enabled yes   #啟動集群模式

(5)cluster-config-file #集群節點配置文件

(6)daemonize yes   #后台啟動

(7)cluster-node-timeout 5000  #指定集群節點超時時間

(8)appendonly yes #指定持久化方式
 
(9)protected-mode no #非保護模式

3. 啟動節點

# ./src/redis-server 6380/redis-6380.conf 
# ./src/redis-server 6381/redis-6381.conf
# ./src/redis-server 6382/redis-6382.conf
# ./src/redis-server 6383/redis-6383.conf
# ./src/redis-server 6384/redis-6384.conf
# ./src/redis-server 6385/redis-6385.conf

查看啟動的節點進程

4. 啟動集群

#./src/redis-cli --cluster create 192.168.25.64:6380 192.168.25.64:6381 192.168.25.64:6382 192.168.25.64:6383 192.168.25.64:6384 192.168.25.64:6385 --cluster-replicas 1    
// --replicas 1 表示我們希望為集群中的每個主節點創建一個從節點。(--cluster-replicas 1 命令的意思: 一主一從配置,六個節點就是 三主三從)



5. 客戶端連接集群

# ./redis-cli -c -h 192.168.25.64 -p 6380
192.168.25.64:6380>

查看集群信息
192.168.25.64:6380> 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:7977
cluster_stats_messages_pong_sent:8091
cluster_stats_messages_sent:16068
cluster_stats_messages_ping_received:8086
cluster_stats_messages_pong_received:7977
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:16068
192.168.25.64:6380>

查看節點信息
192.168.25.64:6380> cluster nodes
0853d9773fdcdad1bc0174d64990c40c39b4a2c7 192.168.25.64:6384@16384 slave d9da56a8f068d5529a7771addf586d14e14ca888 0 1547453355000 5 connected
d9da56a8f068d5529a7771addf586d14e14ca888 192.168.25.64:6381@16381 master - 0 1547453356838 2 connected 5461-10922
4b8e4fa926486c8ab675b7bf2fe36320657f1eae 192.168.25.64:6380@16380 myself,master - 0 1547453354000 1 connected 0-5460
0e585e6a0f45e293680e7aec052d942d85dd90c3 192.168.25.64:6382@16382 master - 0 1547453356000 3 connected 10923-16383
8d9e75800b6a4cc1d2815fbb8dd0036ecd0221ce 192.168.25.64:6385@16385 slave 0e585e6a0f45e293680e7aec052d942d85dd90c3 0 1547453355837 6 connected
53d3770f2ee72b3548b8a4cb26a23e617f7558bb 192.168.25.64:6383@16383 slave 4b8e4fa926486c8ab675b7bf2fe36320657f1eae 0 1547453356000 4 connected
192.168.25.64:6380>

查看節點信息

6 集群測試

[root@LWJ01 src]# ./redis-cli -c -h 192.168.25.64 -p 6380
192.168.25.64:6380> set name ww
-> Redirected to slot [5798] located at 192.168.25.64:6381
OK
192.168.25.64:6381> set age 20
-> Redirected to slot [741] located at 192.168.25.64:6380
OK
192.168.25.64:6380> get name
-> Redirected to slot [5798] located at 192.168.25.64:6381
"ww"
192.168.25.64:6381> get age
-> Redirected to slot [741] located at 192.168.25.64:6380
"20"
192.168.25.64:6380>


# ./redis-cli -h 192.168.25.64 -p 6380
192.168.25.64:6380> set name ww
(error) MOVED 5798 192.168.25.64:6381
192.168.25.64:6380> set age 20
OK
192.168.25.64:6380> get name
(error) MOVED 5798 192.168.25.64:6381
192.168.25.64:6380> get age
"20"
192.168.25.64:6380>

可以看到,客戶端連接加-c選項的時候,存儲和提取key的時候不斷在7031和7032之間跳轉,這個稱為客戶端重定向。之所以發生客戶端重定向,是因為Redis Cluster中的每個Master節點都會負責一部分的槽(slot),存取的時候都會進行鍵值空間計算定位key映射在哪個槽(slot)上,如果映射的槽(slot)正好是當前Master節點負責則直接存取,否則就跳轉到其他Master節點負的槽(slot)中存取,這個過程對客戶端是透明的。

7 redis 集群分區原理

7.1 槽(slot)的基本概念

從上面集群的簡單操作中,我們已經知道redis存取key的時候,都要定位相應的槽(slot)。

Redis 集群鍵分布算法使用數據分片(sharding)而非一致性哈希(consistency hashing)來實現: 一個 Redis 集群包含 16384 個哈希槽(hash slot), 它們的編號為0、1、2、3……16382、16383,這個槽是一個邏輯意義上的槽,實際上並不存在。redis中的每個key都屬於這 16384 個哈希槽的其中一個,存取key時都要進行key->slot的映射計算。

 

>>> 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.25.64:6383 to 192.168.25.64:6380
Adding replica 192.168.25.64:6384 to 192.168.25.64:6381
Adding replica 192.168.25.64:6385 to 192.168.25.64:6382

# 從上面信息可以看出,創建集群的時候,哈希槽被分配到了三個主節點上,從節點是沒有哈希槽的,6380 負責編號為 0 - 5460,共 5461個slots 、6381 負責編號為 5461 - 10922 ,共5462個slots、6382負責編號為 10923 - 16383 共5461個slots

7.2 集群分區好處

redis的集群分區,最主要的目的都是在移除、添加一個節點時對已經存在的緩存數據的定位影響盡可能的降到最小。redis將哈希槽分布到不同節點的做法使得用戶可以很容易地向集群中添加或者刪除節點, 比如說:

  • 如果用戶將新節點 D 添加到集群中, 那么集群只需要將節點 A 、B 、 C 中的某些槽移動到節點 D 就可以了。

  • 與此類似, 如果用戶要從集群中移除節點 A , 那么集群只需要將節點 A 中的所有哈希槽移動到節點 B 和節點 C , 然后再移除空白(不包含任何哈希槽)的節點 A 就可以了。

因為將一個哈希槽從一個節點移動到另一個節點不會造成節點阻塞, 所以無論是添加新節點還是移除已存在 節點, 又或者改變某個節點包含的哈希槽數量, 都不會造成集群下線,從而保證集群的可用性。下面我們就來學習下集群中節點的增加和刪除。

7.3 新增節點

## pwd
/usr/local/redis/redis-5.0.3
# mkdir 6386 6388
#cp redis.conf 6386     mv redis.conf redis-6386.conf
#cp redis.conf 6388     mv redis.conf redis-6388.conf
//進入到相應的目錄下重命名,並進行配置

7.4 啟動新增加的節點

# ./src/redis-server 6386/redis-6386.conf

進行查看
# ps -ef | grep redis

 

7.5 添加節點到集群

#./src/redis-cli --cluster add-node 192.168.25.64:6386 192.168.25.64:6386
#./src/redis-cli --cluster add-node 192.168.25.64:6388 192.168.25.64:6388
格式:
redis-cli --cluster add-node {新節點IP}:{新節點端口} {任意集群節點IP}:{對應端口} #如果添加集群中的主節點,則新添加的就是主節點,如果是從節點則是從節點

查看集群信息
# ./src/redis-cli -c -h 192.168.25.64 -p 6388
192.168.25.64:6386> cluster nodes

或者用這樣可以查看集群檢查集群
#./src/redis-cli --cluster check 192.168.25.64:6380

 

7.5.1 自定義分配槽

從添加主節點輸出信息和查看集群信息中可以看出,我們已經成功的向集群中添加了一個主節點,但是這個主節還沒有成為真正的主節點,因為還沒有分配槽(slot),也沒有從節點,現在要給它分配槽(slot)

 自定義分配槽(slot)
#./redis-cli --cluster reshard 192.168.25.64:6380

#系統提示要移動多少個配槽(slot),並且配槽(slot)要移動到哪個節點,任意輸入一個數,如1024,再輸入新增節點的ID1ee802b8051761fd26ab688ff9dca95df35ef3c4

#然后提示要從哪幾個節點中移除1024個槽(slot),這里輸入‘all’表示從所有的主節點中隨機轉移,湊夠1024個哈希槽,然后就開始從新分配槽(slot)了。從新分配完后再次查看集群節點信息

 

7.5.2 查看分配的結果

#./src/redis-cli --cluster check 192.168.25.64:6380

也可以直接查看集群key、slot、slave分布信息
#./src/redis-cli --cluster info 192.168.25.64:6380

 

7.5.3 平衡各節點槽數量
現在想要各個節點槽的數量相當,所以要進行平衡
# ./src/redis-cli --cluster rebalance --cluster-threshold 1 192.168.25.64:6380

 

查看結果
#./src/redis-cli --cluster info 192.168.25.64:6380

7.6 指定從節點

查看節點狀態
#./src/redis-cli -c -h 192.168.25.64 -p 6380

由下圖可以看出 從節點 6383 的主節點是 6380 ,現在要把它變成 主節點6381的從節點,需要登錄 6383客戶端

# ./src/redis-cli -c -h 192.168.25.64 -p 6383
192.168.25.64:6383> cluster replicate d9da56a8f068d5529a7771addf586d14e14ca888
OK
192.168.25.64:6383>

再次查看集群節點信息
192.168.25.64:6383> cluster nodes

 

7.7 刪除節點

刪除從節點  6386
# ./src/redis-cli --cluster del-node 192.168.25.64:6386 9ba935475b55b9792e6ab0de7f974b8df68db11d
>>> Removing node 9ba935475b55b9792e6ab0de7f974b8df68db11d from cluster 192.168.25.64:6386
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.
[root@LWJ01 redis-5.0.3]#

# ./src/redis-cli -p 6386 cluster nodes
Could not connect to Redis at 127.0.0.1:6386: Connection refused
# ./src/redis-cli -p 6385 cluster nodes
通過下圖可以看出從節點6386 已經被刪除

 

刪除主節點 3681(因為剛才刪除的從節點就是6381的從節點,所以此步驟略)
1)如果主節點有從節點,將從節點轉移到其他主節點
2)如果主節點有slot,去掉分配的slot,然后在刪除主節點

#./redis-cli --cluster reshard 192.168.25.64:6380 //取消分配的slot
How many slots do you want to move (from 1 to 16384)? 4096 //被刪除master的所有slot數量  
What is the receiving node ID? 5d8ef5a7fbd72ac586bef04fa6de8a88c0671052 //接收6378節點slot的master  
Please enter all the source node IDs.  
Type 'all' to use all the nodes as source nodes for the hash slots.  
Type 'done' once you entered all the source nodes IDs.  
Source node #1:03ccad2ba5dd1e062464bc7590400441fafb63f2 //被刪除master的node-id  
Source node #2:done  
 
Do you want to proceed with the proposed reshard plan (yes/no)? yes //取消slot



查看結果: 6381 的槽已經被取消,分配給了6380
# ./src/redis-cli --cluster info 192.168.25.64:6380
192.168.25.64:6380 (4b8e4fa9...) -> 0 keys | 8192 slots | 1 slaves.
192.168.25.64:6381 (d9da56a8...) -> 0 keys | 0 slots | 0 slaves.
192.168.25.64:6382 (0e585e6a...) -> 0 keys | 4096 slots | 1 slaves.
192.168.25.64:6388 (1ee802b8...) -> 3 keys | 4096 slots | 1 slaves.
[OK] 3 keys in 4 masters.
0.00 keys per slot on average.

 

刪除 6381
# ./src/redis-cli --cluster del-node 192.168.25.64:6381 d9da56a8f068d5529a7771addf586d14e14ca888
>>> Removing node d9da56a8f068d5529a7771addf586d14e14ca888 from cluster 192.168.25.64:6381
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.
[root@LWJ01 redis-5.0.3]#

查看結果:
# ./src/redis-cli --cluster info 192.168.25.64:6380
192.168.25.64:6380 (4b8e4fa9...) -> 0 keys | 8192 slots | 1 slaves.
192.168.25.64:6382 (0e585e6a...) -> 0 keys | 4096 slots | 1 slaves.
192.168.25.64:6388 (1ee802b8...) -> 3 keys | 4096 slots | 1 slaves.
[OK] 3 keys in 3 masters.
0.00 keys per slot on average.
[root@LWJ01 redis-5.0.3]#


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM