免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Redis 3.0.5 集群的命令、使用、維護

cluster命令

CLUSTER INFO 打印集群的信息CLUSTER NODES 列出集群當前已知的所有節(jié)點(node),以及這些節(jié)點的相關信息。 //節(jié)點CLUSTER MEET <ip> <port> 將 ip 和 port 所指定的節(jié)點添加到集群當中,讓它成為集群的一份子。CLUSTER FORGET <node_id> 從集群中移除 node_id 指定的節(jié)點。CLUSTER REPLICATE <node_id> 將當前節(jié)點設置為 node_id 指定的節(jié)點的從節(jié)點。CLUSTER SAVECONFIG 將節(jié)點的配置文件保存到硬盤里面。CLUSTER ADDSLOTS <slot> [slot ...] 將一個或多個槽(slot)指派(assign)給當前節(jié)點。CLUSTER DELSLOTS <slot> [slot ...] 移除一個或多個槽對當前節(jié)點的指派。CLUSTER FLUSHSLOTS 移除指派給當前節(jié)點的所有槽,讓當前節(jié)點變成一個沒有指派任何槽的節(jié)點。CLUSTER SETSLOT <slot> NODE <node_id> 將槽 slot 指派給 node_id 指定的節(jié)點。CLUSTER SETSLOT <slot> MIGRATING <node_id> 將本節(jié)點的槽 slot 遷移到 node_id 指定的節(jié)點中。CLUSTER SETSLOT <slot> IMPORTING <node_id> 從 node_id 指定的節(jié)點中導入槽 slot 到本節(jié)點。CLUSTER SETSLOT <slot> STABLE 取消對槽 slot 的導入(import)或者遷移(migrate)。 //鍵CLUSTER KEYSLOT <key> 計算鍵 key 應該被放置在哪個槽上。CLUSTER COUNTKEYSINSLOT <slot> 返回槽 slot 目前包含的鍵值對數(shù)量。CLUSTER GETKEYSINSLOT <slot> <count> 返回 count 個 slot 槽中的鍵。 //新增CLUSTER SLAVES node-id 返回一個master節(jié)點的slaves 列表

redis 有很多命令,同意,加入到cluster后,也有一些列的命令,現(xiàn)在一一來看下 (http://redis.io/commands/cluster-addslots):

 

我們來一個一個的實踐一下。

我按照上一篇的理論實踐知識的基礎上,再次搭建了一個集群,這次運行了8個端口,用實際的ip代替127.0.0.1: 

redis-trib.rb create --replicas 1 192.168.33.13:7000 192.168.33.13:7001 
192.168.33.13:7002 192.168.33.13:7003 192.168.33.13:7004 192.168.33.13:7005
192.168.33.13:7006 192.168.33.13:7007 192.168.33.13:7008

 

這個命令過后,就會創(chuàng)建一個redis cluster 集群,包括4個Master5個slave。OK,現(xiàn)在我們來一一試一下上述的CLUSTER *命令。

cluster info

這個命令是顯示當前連接的集群的各種信息。

[root@web3 7008]# redis-cli -c -p 7000127.0.0.1:7000> cluster infocluster_state:okcluster_slots_assigned:16384cluster_slots_ok:16384cluster_slots_pfail:0cluster_slots_fail:0cluster_known_nodes:9cluster_size:4cluster_current_epoch:9cluster_my_epoch:1cluster_stats_messages_sent:41417cluster_stats_messages_received:41417cluster_state:集群的狀態(tài)。ok表示集群是成功的,如果至少有一個solt壞了,就將處于error狀態(tài)。cluster_slots_assigned:有多少槽點被分配了,如果是16384,表示全部槽點已被分配。cluster_slots_ok:多少槽點狀態(tài)是OK的, 16384 表示都是好的。cluster_slots_pfail:多少槽點處于暫時疑似下線[PFAIL]狀態(tài),這些槽點疑似出現(xiàn)故障,但并不表示是有問題,也會繼續(xù)提供服務。cluster_slots_fail:多少槽點處于暫時下線[FAIL]狀態(tài),這些槽點已經(jīng)出現(xiàn)故障,下線了。等待修復解決。cluster_known_nodes:已知節(jié)點的集群中的總數(shù),包括在節(jié)點 握手的狀態(tài)可能不是目前該集群的成員。這里總公有9個。cluster_size:(The number of master nodes serving at least one hash slot in the cluster) 簡單說就是集群中主節(jié)點[Master]的數(shù)量。cluster_current_epoch:本地當前時期變量。這是使用,以創(chuàng)造獨特的不斷增加的版本號過程中失敗接管。{不懂}cluster_my_epoch:這是分配給該節(jié)點的當前配置版本。{不懂} cluster_stats_messages_sent:通過群集節(jié)點到節(jié)點的二進制總線發(fā)送的消息數(shù)。 cluster_stats_messages_received:通過群集節(jié)點到節(jié)點的二進制總線上接收報文的數(shù)量。

cluster nodes

獲取集群上的所有的節(jié)點信息。一般這個命令用的比較多。

127.0.0.1:7008> cluster nodes8916fb224bbae3dc0291ca47e066dca0a62fba19 192.168.33.13:7004 slave 3d2b7dccfc45ae2eb7aeb9e0bf001b0ac8f7b3da 0 1446115185933 5 connected404cf1ecf54d4df46d5faaec4103cfdf67888ad2 192.168.33.13:7001 master - 0 1446115184929 2 connected 4096-8191a035546046a607487436cf354c187b1712edf39b 192.168.33.13:7006 slave 6f5cd78ee644c1df9756fc11b3595403f51216cc 0 1446115184929 7 connected6f5cd78ee644c1df9756fc11b3595403f51216cc 192.168.33.13:7002 master - 0 1446115185432 3 connected 8192-12287f325d80e770ce319e4490818a49bad033cce942c 192.168.33.13:7008 myself,slave 3d2b7dccfc45ae2eb7aeb9e0bf001b0ac8f7b3da 0 0 9 connectede357bea5151b32a971c1f7a5788271106195f99a 192.168.33.13:7005 slave 404cf1ecf54d4df46d5faaec4103cfdf67888ad2 0 1446115186435 6 connected3d2b7dccfc45ae2eb7aeb9e0bf001b0ac8f7b3da 192.168.33.13:7000 master - 0 1446115184426 1 connected 0-40956650a95b874cacf399f174cb7a1b3802fc9bcef9 192.168.33.13:7007 slave 35bdcb51ceeff00f9cc608fa1b4364943c7c07ce 0 1446115184426 8 connected35bdcb51ceeff00f9cc608fa1b4364943c7c07ce 192.168.33.13:7003 master - 0 1446115184426 4 connected 12288-16383

先看下每一條的結(jié)構(gòu):

<id> <ip:port> <flags> <master> <ping-sent> <pong-recv> <config-epoch> <link-state> <slot> <slot> ... <slot>

[節(jié)點id] [ip:端口] [標志(master、myself、salve)] [(- 或者主節(jié)id)] [ping發(fā)送的毫秒UNIX時間,0表示沒有ping] [pong接收的unix毫秒時間戳] [配置-epoch] [連接狀態(tài)] [槽點]

cluster meet

將 ip 和 port 所指定的節(jié)點添加到集群當中,讓它成為集群的一份子

我們一般會用redis-trib.rb add-node 192.168.33.13:7009 192.168.33.13:7000 這種方式將一個節(jié)點加入隊列。這是不需要連接redis-cli客戶端。

其實,也可以用cluster meet命令,使用方法:

cluster meet <ip> <port>

我們來實踐下,新建一個7009新節(jié)點,然后試著用這個命令加入到集群中來:

127.0.0.1:7000> cluster meet 192.168.33.13 7009OK127.0.0.1:7000> cluster nodes....70795a3a7b93b7d059124e171cd46ba1683d6b7d 192.168.33.13:7009 master - 0 1446198910590 0 connected
現(xiàn)在7009已經(jīng)成功加入到來集群當中,同樣,還沒有分配槽點給它。槽點分配在下面的命令中再仔細說。

cluster forget

從集群中移除一個節(jié)點。這個功能:

redis-trib del-node 192.168.33.13:7009 `<node-id>`

類似。同樣,刪除從節(jié)點,可以直接刪除。刪除主節(jié)點,要是有slot的話需要先遷移。

我們就來刪除上一步加的這個192.168.33.13 7009,他是一個master 節(jié)點,但是里面還沒分配slot,所以,我們刪除試一下:

使用方法為:

 cluster forget <node_id>

開始:

127.0.0.1:7000> cluster forget 70795a3a7b93b7d059124e171cd46ba1683d6b7dOK

提示OK了,說明已經(jīng)成功了。

再看下node 列表:

 
127.0.0.1:7000> cluster nodesa035546046a607487436cf354c187b1712edf39b 192.168.33.13:7006 slave 6f5cd78ee644c1df9756fc11b3595403f51216cc 0 1448519211988 7 connectedf325d80e770ce319e4490818a49bad033cce942c 192.168.33.13:7008 slave 3d2b7dccfc45ae2eb7aeb9e0bf001b0ac8f7b3da 0 1448519212994 9 connectede357bea5151b32a971c1f7a5788271106195f99a 192.168.33.13:7005 slave 404cf1ecf54d4df46d5faaec4103cfdf67888ad2 0 1448519213499 6 connected8916fb224bbae3dc0291ca47e066dca0a62fba19 192.168.33.13:7004 slave 3d2b7dccfc45ae2eb7aeb9e0bf001b0ac8f7b3da 0 1448519212994 5 connected35bdcb51ceeff00f9cc608fa1b4364943c7c07ce 192.168.33.13:7003 master - 0 1448519211485 4 connected 12288-163833d2b7dccfc45ae2eb7aeb9e0bf001b0ac8f7b3da 192.168.33.13:7000 myself,master - 0 0 1 connected 0-40956650a95b874cacf399f174cb7a1b3802fc9bcef9 192.168.33.13:7007 slave 35bdcb51ceeff00f9cc608fa1b4364943c7c07ce 0 1448519212493 8 connected6f5cd78ee644c1df9756fc11b3595403f51216cc 192.168.33.13:7002 master - 0 1448519213499 3 connected 8192-12287404cf1ecf54d4df46d5faaec4103cfdf67888ad2 192.168.33.13:7001 master - 0 1448519213499 2 connected 4096-8191

嗯。節(jié)點被移除了。

但是,其實是沒有真正移除!不知道為啥。

 [vagrant@web3 7009]$ redis-trib.rb check 192.168.33.13:7009Connecting to node 192.168.33.13:7009: OKConnecting to node 192.168.33.13:7004: OKConnecting to node 192.168.33.13:7007: OKConnecting to node 192.168.33.13:7000: OKConnecting to node 192.168.33.13:7008: OKConnecting to node 192.168.33.13:7006: OKConnecting to node 192.168.33.13:7003: OKConnecting to node 192.168.33.13:7005: OKConnecting to node 192.168.33.13:7001: OKConnecting to node 192.168.33.13:7002: OK

進程也還在。

[vagrant@web3 7009]$ ps -ef|grep redisroot 3017 1 0 Nov23 ? 00:04:24 redis-server *:7009 [cluster]

而且也還能連上:

 
[vagrant@web3 7009]$ redis-cli -p 7009 -c127.0.0.1:7009> cluster nodes70795a3a7b93b7d059124e171cd46ba1683d6b7d 192.168.33.13:7009 myself,master - 0 0 0 connected

日了狗了?。。?!為啥啊。不管啦。繼續(xù)。

cluster replicate

當前節(jié)點設置為 node_id 指定的節(jié)點的從節(jié)點。

既然剛才沒把7009刪掉,那就用這個命令把它設置成7003的從節(jié)點吧。

使用方法為:

 cluster replicate <master_nodeId>

先用7009連接

 
[root@web3 7009]# redis-cli -p 7009 -c127.0.0.1:7009> cluster replicate 35bdcb51ceeff00f9cc608fa1b4364943c7c07ceOK

OK了,說明成功了,我們再看下:

 
127.0.0.1:7009> cluster nodes...b3917e10123230f2f5b0e2c948a7eeda7f88ccf7 192.168.33.13:7009 myself,slave 35bdcb51ceeff00f9cc608fa1b4364943c7c07ce 0 0 0 connected357bea5151b32a971c1f7a5788271106195f99a 192.168.33.13:7003 master - 0 1448525721782 4 connected 12288-16383

OK,說明設置成功了,那我推出cliredis-trib看下:

 
[root@web3 7009]# redis-trib.rb check 192.168.33.13:7000Connecting to node 192.168.33.13:7009: OKM: 35bdcb51ceeff00f9cc608fa1b4364943c7c07ce 192.168.33.13:7003slots:12288-16383 (4096 slots) master2 additional replica(s)S: 6650a95b874cacf399f174cb7a1b3802fc9bcef9 192.168.33.13:7007slots: (0 slots) slavereplicates 35bdcb51ceeff00f9cc608fa1b4364943c7c07ceS: b3917e10123230f2f5b0e2c948a7eeda7f88ccf7 192.168.33.13:7009slots: (0 slots) slavereplicates 35bdcb51ceeff00f9cc608fa1b4364943c7c07ce

成功了!

cluster saveconfig

將節(jié)點的配置文件保存到硬盤里面.

試一下:

 
127.0.0.1:7009> cluster saveconfigOK

ok說明成功了,它會覆蓋配置文件夾里的nodes.conf文件。這樣做是為了某種情況下nodes文件丟失,這樣就會生成一個最新的節(jié)點配置文件。

為了說明是新生成的,我們可以先刪除掉7009目錄下的nodes.conf文件:

[root@web3 7009]# lltotal 52-rw-r--r-- 1 root root 0 Nov 26 08:14 appendonly.aof-rw-r--r-- 1 root root 18 Nov 26 08:14 dump.rdb-rw-r--r-- 1 root root 1269 Nov 26 08:50 nodes.conf-rw-r--r-- 1 root root 41550 Oct 30 03:40 redis.conf[root@web3 7009]# rm -rf nodes.conf[root@web3 7009]# lltotal 42-rw-r--r-- 1 root root 0 Nov 26 08:14 appendonly.aof-rw-r--r-- 1 root root 18 Nov 26 08:14 dump.rdb-rw-r--r-- 1 root root 41550 Oct 30 03:40 redis.conf[root@web3 7009]# redis-cli -p 7009 -c127.0.0.1:7009> cluster saveconfigOK127.0.0.1:7009> exit[root@web3 7009]# lltotal 52-rw-r--r-- 1 root root 0 Nov 26 08:14 appendonly.aof-rw-r--r-- 1 root root 18 Nov 26 08:14 dump.rdb-rw-r--r-- 1 root root 1269 Nov 26 08:51 nodes.conf-rw-r--r-- 1 root root 41550 Oct 30 03:40 redis.conf[root@web3 7009]#

cluster delslots

移除當前節(jié)點的一個或多個槽點。只能刪除自己的節(jié)點,刪除別人的沒用。

因為master才會有槽點,所以,也是只能在master 節(jié)點上操作,在slave 操作也沒用。

用法是:

cluster delslots slots1 slotes2 slots3

我們看一下槽點的分配情況:

[root@web3 7009]# redis-cli -p 7009 -c cluster nodes| grep master3d2b7dccfc45ae2eb7aeb9e0bf001b0ac8f7b3da 192.168.33.13:7000 master - 0 1448529511113 1 connected 0-4095404cf1ecf54d4df46d5faaec4103cfdf67888ad2 192.168.33.13:7001 master - 0 1448529511113 2 connected 4096-81916f5cd78ee644c1df9756fc11b3595403f51216cc 192.168.33.13:7002 master - 0 1448529509101 3 connected 8192-1228735bdcb51ceeff00f9cc608fa1b4364943c7c07ce 192.168.33.13:7003 master - 0 1448529510609 4 connected 12288-16383

4臺master,那就把16381 16382 16383 3個槽點給刪掉。

開始:

 
[root@web3 7009]# redis-cli -p 7003127.0.0.1:7003> cluster delslots 16381 16382 16383OK127.0.0.1:7003> cluster nodes35bdcb51ceeff00f9cc608fa1b4364943c7c07ce 192.168.33.13:7003 myself,master - 0 0 4 connected 12288-16380

看,7003的缺失少了3個節(jié)點。我們在看下cluster info

127.0.0.1:7003> cluster infocluster_state:failcluster_slots_assigned:16381cluster_slots_ok:16381
只有16381個,確實少了4個。但是,注意:cluster_state:fail,集群失敗了!??!

為什么呢?為什么刪除了3個槽點就失敗了呢。因為集群就是要滿足所有的16364個槽點全部分配才會成功。所以。就失敗了。

數(shù)據(jù)讀取自然也會失?。?/p>

 
127.0.0.1:7003> get name(error) CLUSTERDOWN The cluster is down

我們用redis-trib檢查一下,就知道了:

[root@web3 7009]# redis-trib.rb check 192.168.33.13:7000......[ERR] Nodes don't agree about configuration!>>> Check for open slots...>>> Check slots coverage...[ERR] Not all 16384 slots are covered by nodes.

那如何挽救呢?那就順便看下下面的這個命令吧。

cluster addslots

將一個或多個槽(slot)指派(assign)給當前節(jié)點

用法是:

cluster addslots slots1 slotes2 slots3
那,我就用這個命令將上面刪掉的3個槽點再加到7003上看看:
127.0.0.1:7003> cluster addslots 16381 16382 16383OK127.0.0.1:7003>

OK了,看下是不是真的成功了: 

127.0.0.1:7003> cluster nodes35bdcb51ceeff00f9cc608fa1b4364943c7c07ce 192.168.33.13:7003 myself,master - 0 0 4 connected 12288-16383

確實回來了,再看下集群狀態(tài),啟動了沒?

127.0.0.1:7003> cluster infocluster_state:ok

數(shù)據(jù)讀取也正常了:

 
127.0.0.1:7003> get name-> Redirected to slot [5798] located at 192.168.33.13:7001"123"192.168.33.13:7001>

cluster flushslots

移除當前節(jié)點所有槽點,讓當前節(jié)點變成一個沒有指派任何槽的節(jié)點。

我們還是拿7003來開刀吧。誰叫它在最后呢哈哈哈哈哈哈??

 
[root@web3 ~]# redis-cli -p 7003 -c127.0.0.1:7003> cluster flushslotsOK

ok了,理論上7003上的槽點應該都被移除了,它被懸空了,那么集群也應該失效了吧。看看:

127.0.0.1:7003> cluster infocluster_state:failcluster_slots_assigned:12288cluster_slots_ok:12288

果然,移除了7003的所有4006個槽點,而且集群也失敗了。用redis-trib看看。

 
[root@web3 ~]# redis-trib.rb check 192.168.33.13:7000M: 35bdcb51ceeff00f9cc608fa1b4364943c7c07ce 192.168.33.13:7003slots: (0 slots) master2 additional replica(s)[ERR] Nodes don't agree about configuration!>>> Check for open slots...>>> Check slots coverage...[ERR] Not all 16384 slots are covered by nodes.

可憐的7003上,已經(jīng)沒有任何slot了。

cluster setslot <\slot> node <\node_id>

將slot 指派給 node_id指定的節(jié)點,如果槽已經(jīng)指派給另一個節(jié)點,那么先讓另一個節(jié)點刪除該槽,然后再進行指派。

剛才7003的全部slot已經(jīng)空出來了,那用這個命令試一下轉(zhuǎn)移。

開始搞,把12288-16384 這中間的幾個節(jié)點移動到7002上去。

127.0.0.1:7003> cluster setslot 16383 node 6f5cd78ee644c1df9756fc11b3595403f51216ccOK127.0.0.1:7003> cluster setslot 16382 node 6f5cd78ee644c1df9756fc11b3595403f51216ccOK

媽的,這個命令只能一個一個的移動,太變態(tài)了?。。?/p>

那看看。剛才移動的幾個好了沒?

 
127.0.0.1:7003> cluster nodes6f5cd78ee644c1df9756fc11b3595403f51216cc 192.168.33.13:7002 master - 0 1448611602575 3 connected 8192-12287 16382-16383

果然,這2個slot被移動過來了。那,再移動下,把 16382 丟給 7000看看:

127.0.0.1:7003> cluster setslot 16382 node 3d2b7dccfc45ae2eb7aeb9e0bf001b0ac8f7b3daOK

看看好了沒?

 
127.0.0.1:7003> cluster nodes3d2b7dccfc45ae2eb7aeb9e0bf001b0ac8f7b3da 192.168.33.13:7000 master - 0 1448611827539 1 connected 0-4095 16382

嗯,已經(jīng)移動過來了。

cluster setslot <\slot> migrating <\destination-node-id>

本節(jié)點的槽 slot 遷移到 node_id 指定的節(jié)點中

試一下 16382 ,把她給移會去??蓱z。。。

 
[root@web3 7000]# redis-cli -p 7002 -c127.0.0.1:7002> cluster setslot 16383 migrating 35bdcb51ceeff00f9cc608fa1b4364943c7c07ce(error) ERR I'm not the owner of hash slot 16383

居然出錯了?。?!為啥啊。說 16383 不是 7002的槽點,無法移動。我了個叉,怎么會不是呢?

我看下:

6f5cd78ee644c1df9756fc11b3595403f51216cc 192.168.33.13:7002 myself,master - 0 0 3 connected 8192-1228735bdcb51ceeff00f9cc608fa1b4364943c7c07ce 192.168.33.13:7003 master - 0 1448619265700 4 connected 12288-16383

我了個擦的。確實不是啊。我明明已經(jīng)把7003的槽點全部置空了啊,為什么這里還有啊。日了狗啊。

進 7003看看呢? 

[root@web3 7000]# redis-cli -p 7003 -c

看看:

127.0.0.1:7003> cluster nodes35bdcb51ceeff00f9cc608fa1b4364943c7c07ce 192.168.33.13:7003 myself,master - 0 0 4 connected6f5cd78ee644c1df9756fc11b3595403f51216cc 192.168.33.13:7002 master - 0 1448619384580 3 connected 8192-12287 16383

嗶了狗了,居然2邊的信息不一樣?。?!我擦。這尼瑪。

我退出去check看看。

 
[root@web3 7000]# redis-trib.rb check 192.168.33.13:7000

看看結(jié)果: 

M: 35bdcb51ceeff00f9cc608fa1b4364943c7c07ce 192.168.33.13:7003slots: (0 slots) master2 additional replica(s)M: 6f5cd78ee644c1df9756fc11b3595403f51216cc 192.168.33.13:7002slots:8192-12287 (4096 slots) master1 additional replica(s)

我日了,16383 和 16382 用上面的setslot <slot> node <node_id>根本沒移動過去,這尼瑪。無語了。。。不管了吧。繼續(xù)下面的命令學習吧。

cluster setslot <\slot> importing <\node_id>

從 node_id 指定的節(jié)點中導入 slot 到本節(jié)點。

上面的命令居然失效了,日了狗,現(xiàn)在看下這個命令呢?

 
127.0.0.1:7003> cluster setslot 16383 importing 6f5cd78ee644c1df9756fc11b3595403f51216ccOK127.0.0.1:7003>

將 7002 上的 18383轉(zhuǎn)移到 7003上來,居然成功了。好吧。??

 
127.0.0.1:7003> cluster nodes35bdcb51ceeff00f9cc608fa1b4364943c7c07ce 192.168.33.13:7003 myself,master - 0 0 4 connected
[16383-
<-6f5cd78ee644c1df9756fc11b3595403f51216cc]6f5cd78ee644c1df9756fc11b3595403f51216cc 192.168.33.13:7002 master - 0 1448621921706 3 connected 8192-12287 16383

居然顯示成這樣的,屌屌屌。然而,16383還在 7002上。哎。無法理解。

check 下:

 
[root@web3 7000]# redis-trib.rb check 192.168.33.13:7000...M: 35bdcb51ceeff00f9cc608fa1b4364943c7c07ce 192.168.33.13:7003slots: (0 slots) master2 additional replica(s)...>>> Check for open slots...[WARNING] Node 192.168.33.13:7003 has slots in importing state (16383).[WARNING] The following slots are open: 16383>>> Check slots coverage...[ERR] Not all 16384 slots are covered by nodes.

它提示集群失敗,說正在導入!什么鬼啊。完全搞不懂。跳過吧,看下一個命令:

cluster setslot <\slot> stable

取消 slot 的導入(import)或者遷移(migrate)。

這個命令屌啊,還可以反悔啊。趕緊試一試:

 
127.0.0.1:7003> cluster setslot 16383 stableOK

看下回去了沒? 

127.0.0.1:7003> cluster nodes35bdcb51ceeff00f9cc608fa1b4364943c7c07ce 192.168.33.13:7003 myself,master - 0 0 4 connected6f5cd78ee644c1df9756fc11b3595403f51216cc 192.168.33.13:7002 master - 0 1448623146511 3 connected 8192-12287 16383

果然回去了,贊贊贊。再 check 下:

 
[ERR] Nodes don't agree about configuration!>>> Check for open slots...>>> Check slots coverage...[ERR] Not all 16384 slots are covered by nodes.

剛才那個錯誤消息了。好吧。繼續(xù)學習其它命令吧。

cluster keyslot <\key>

計算鍵 key 應該被放置在哪個槽上。這個是個蠻不錯的功能。有時候很想找一個key在哪個節(jié)點??聪履懿荒苡谩?/p>

 
127.0.0.1:7000> cluster keyslot name(integer) 5798127.0.0.1:7000> get name-> Redirected to slot [5798] located at 192.168.33.13:7001"123"192.168.33.13:7001>

這個很簡單,就是一個運算,之前也講過: CRC16('name')%16384 = 5798

cluster countkeysinslot <\slot>

計算一個slot 包含多少個key。這也是一個很使用的小功能。

試一下:

 
192.168.33.13:7001> cluster countkeysinslot 5798(integer) 1

由于是測試,所以,slot里數(shù)據(jù)很少,這里顯示1個,估計就是上面的name

cluster getkeysinslot <\slot> <\count>

返回 一個 slot 中 count 個 key 的集合。 也是一個蠻實用的功能。

試一下:

127.0.0.1:7000> cluster getkeysinslot 5798 1(empty list or set)

 那設置幾個值吧:

  
192.168.33.13:7000> set name1 yangyi-> Redirected to slot [12933] located at 192.168.33.13:7003OK192.168.33.13:7003> set name2 yangyi-> Redirected to slot [742] located at 192.168.33.13:7000OK192.168.33.13:7000> set name3 yangyi-> Redirected to slot [4807] located at 192.168.33.13:7001OK192.168.33.13:7001> set name4 yangyi-> Redirected to slot [8736] located at 192.168.33.13:7002OK192.168.33.13:7002> set name5 yangyi-> Redirected to slot [12801] located at 192.168.33.13:7003OK192.168.33.13:7003> set name6 yangyi-> Redirected to slot [610] located at 192.168.33.13:7000OK192.168.33.13:7000> set name7 yangyi-> Redirected to slot [4675] located at 192.168.33.13:7001OK192.168.33.13:7001>
好。我們再取一下:
192.168.33.13:7001> cluster getkeysinslot 4675 11) "name7"

cluster slaves <\node-id>

返回一個master節(jié)點的slaves 列表 

192.168.33.13:7001> cluster slaves 7b39b81b5ba94a9f4d96931dd0879cc13dab6f071) "f8c7a3113497d8d828bdb05fec4041b382e5fd0a 192.168.33.13:7005 slave 7b39b81b5ba94a9f4d96931dd0879cc13dab6f07
0 1450671948824 6 connected"

cluster nodes命令查看的結(jié)果是一樣的。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Redis Cluster
Redis集群
redis搭建
全面剖析Redis Cluster原理和應用
Redis服務之集群節(jié)點管理
centos完美搭建redis3.0集群并附測試
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服