redis-cluster集羣配置

Redis分片:

爲何要分片:隨着Redis存儲的數據愈來愈龐大,會致使Redis性能愈來愈差!html

目前分片的方法:node

一、客戶端分片redis

在應用層面分片,程序裏指定什麼數據存放在那個Redis 優點:比較靈活 缺點:加個節點擴容就很費勁數據庫

二、代理Proxy分片,第三方的Twemproxy使用代理的缺點,你代理什麼性能,那麼你整個Redis的性能就是什麼樣的!vim

三、Redis clustercentos

四、cidis(豌豆莢)開源ruby


Redis cluster:bash


這裏摘錄:http://redisdoc.com/topic/cluster-tutorial.html#id2
服務器


集羣分片:網絡

Redis集羣使用數據分片(sharding)而非一致性哈希(consistency hashing)來實現:一個Redis集羣包含16384個哈希槽(hash slot),數據庫中的每一個鍵都屬於這16384個哈希槽的其中一個,集羣使用公式CRC16(key)%16384來計算鍵key屬於那個槽,其中CRC16(key)語句用於計算鍵key的CRC16校驗和。


集羣中的每一個節點負責處理一部分哈希槽。舉個例子,一個集羣能夠有三個哈希槽,其中:


    *節點A負責處理0號至5500號哈希槽。

    *節點B負責處理5501號至11000號哈希槽。

    *節點C負責處理11001號至16384號哈希槽。


這種將哈希槽分佈到不一樣節點的作法使得用戶能夠很容易地向集羣中添加或者刪除節點。好比說:


    *若是用戶將新節點D添加到集羣中,那麼集羣只須要將節點A、B、C中的某些槽移動到節點D就能夠了。

    *與此相似,若是用戶要從集羣中移除節點A,那麼集羣只須要將節點A中的全部哈希槽移動到節點B和節點C,而後再移除空白(不包含任何哈希槽)的節點A就能夠了。


由於將一個哈希槽從一個節點移動到另外一個節點不會形成節點阻塞,因此不管是添加新節點仍是移除已存在節點,又或者改變某個節點包含的哈希槽數量,都不會形成集羣下線。


Redis集羣中的主從複製

爲了使得集羣在一部分節點下線或者沒法與集羣的大多數(majority)節點進行通信的狀況下,仍然能夠正常運做,Redis集羣對節點使用了主從複製功能:集羣中的每一個節點都有1個至N個複製品(replica),其中一個複製品爲主節點(master),而其他的N-1個複製品爲從節點(slave)。

在以前列舉的節點A、B、C的例子中,若是節點B下線了,那麼集羣將沒法正常運行,由於集羣找不到節點來處理5501號至11000號的哈希槽。

另外一方面,假如在建立集羣的時候(或者至少在節點B下線以前),咱們爲主節點B添加了從節點B1,那麼當主節點B下線的時候,集羣就會將B1設置爲新的主節點,並讓它代替下線的主節點B,繼續處理5501號至11000號的哈希槽,這樣集羣就不會由於主節點B的下線而沒法正常運做了。


不過若是節點B和B1都下線的話,Redis集羣仍是會中止運做。


Redis集羣的一致性保證(guarantee)

Redis集羣不保證數據的強一致性(strong consistency):在特定的條件下,Redis集羣可能會丟失已經被執行過的寫命令。

使用異步複製(asynchronous replication)是Redis集羣可能會丟失寫命令的其中一個緣由。考慮如下這個寫命令的例子:

    * 客戶端向主節點B發送一條寫命令。

    * 主節點B執行寫命令,並向客戶端返回命令回覆。

    * 主節點B將剛剛執行的寫命令複製給它的從節點B一、B2和B3.


如你所見,主節點對命令的複製工做發生在返回命令回覆以後,由於若是每次處理命令請求都須要等待複製操做完成的話,那麼主節點處理命令請求的速度將極大地下降--咱們必須在性能和一致性之間作出權衡。

若是真的有必要的話,Redis集羣可能會在未來提供同步地(synchronou)執行寫命令的方法。

Redis集羣另一種可能會丟失命令的狀況是,集羣出現網絡分裂(network partition),而且一個客戶端與至少包括一個主節點在內的少數(minority)實例被孤立。

舉個例子,架設集羣包括A、B、C、A一、B一、C1六個節點,其中A、B、C爲主節點,而A一、B一、C1分別爲三個主節點的從節點,另外還有一個客戶端Z1。

假設集羣中發生網絡分裂,那麼集羣可能會分裂爲兩方,大多數(majority)的一方包括節點A、C、A一、B1和C1,而少數(minority)的一份則包含節點B和客戶端Z1。在網絡分裂期間,主節點B仍然會接受Z1發送的寫指定;


   * 若是網絡分裂出現的時間很短,那麼集羣會繼續正常運行;

   * 可是,若是網絡分裂出現的時間足夠長,使得大多數一方將從節點B1設置爲新的主節點,並使用B1來代替原來的主節點B,那麼Z1發送給主節點B的寫命令將丟失。


注意,在網絡分裂出現期間,客戶端Z1能夠向主節點B發送寫命令的最大時間是有限制的,這一時間限制稱爲節點超時時間(node timeout),是Redis集羣的一個重要的配置選項:


   * 對於大多數一方來講,若是一個主節點未能在節點超時時間所設定的時限內從新聯繫上集羣,那麼它將中止處理寫命令,並向客戶端報告錯誤。


Redis Cluster安裝:

一、安裝環境(centos6.7)三臺機器作集羣

# tar xf redis-3.0.7.tar.gz -C /usr/local
# mv redis-3.0.7 redis
# cd /usr/local
# make 
# make install
# cp utils/redis_init_script /etc/init.d/redis
# vim /etc/init.d/redis
# chkconfig: 2345 88 45   #加上這一行才能啓動
# chmod +x /etc/init.d/redis
# chkconfig --add redis

# 先修改配置文件,在配置文件裏面:新增三行,修改3行
# vim /usr/local/redis/redis.conf
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
port 7001
logfile "redis_7001.log"
dir "/data/redis/7001"
appendonly yes   #而且開啓aof

# mkdir /etc/redis/{7001,7002} -pv
# mkdir /data/redis/{7001,7002} -pv
# mkdir /etc/redis/{7003,7004} -pv
# mkdir /data/redis/{7003,7004} -pv
# mkdir /etc/redis/{7005,7006} -pv
# mkdir /data/redis/{7005,7006} -pv
# cd /etc/redis
#把相關的信息都同一修改成:6379 (端口、日誌文件、存儲dir目錄等)
# sed  's/6379/7001/g' /usr/local/redis/redis.conf > /etc/redis/7001/redis.conf
# sed  's/6379/7002/g' /usr/local/redis/redis.conf > /etc/redis/7002/redis.conf
# sed  's/6379/7003/g' /usr/local/redis/redis.conf > /etc/redis/7003/redis.conf
# sed  's/6379/7004/g' /usr/local/redis/redis.conf > /etc/redis/7004/redis.conf
# sed  's/6379/7005/g' /usr/local/redis/redis.conf > /etc/redis/7005/redis.conf
# sed  's/6379/7006/g' /usr/local/redis/redis.conf > /etc/redis/7006/redis.conf
#啓動,我這裏是三臺機器,因此須要分別在機器上啓動
# /usr/local/redis/src/redis-server /etc/redis/700[1-6]/redis.conf

二、安裝管理工具,源碼自帶了一個管理Cluster集羣的工具,是用ruby寫的因此須要安裝ruby

# yum -y install ruby rubygems
安裝ruby的管理工具Redis
# gem install redis

三、複製管理工具

# cp /usr/local/redis/src/redis-trib.rb /usr/bin/redis-trib
查看redis-trib幫助
# redis-trib help
# redis-trib help
Usage: redis-trib <command> <options> <arguments ...>

  info            host:port
  import          host:port
                  --copy
                  --from <arg>
                  --replace
  set-timeout     host:port milliseconds
  check           host:port
  call            host:port command arg arg .. arg
  del-node        host:port node_id
  rebalance       host:port
                  --threshold <arg>
                  --simulate
                  --pipeline <arg>
                  --use-empty-masters
                  --weight <arg>
                  --timeout <arg>
                  --auto-weights
  fix             host:port
                  --timeout <arg>
  add-node        new_host:new_port existing_host:existing_port
                  --slave
                  --master-id <arg>
  help            (show this help)
  create          host1:port1 ... hostN:portN
                  --replicas <arg>
  reshard         host:port
                  --to <arg>
                  --slots <arg>
                  --yes
                  --from <arg>
                  --pipeline <arg>
                  --timeout <arg>

四、建立集羣

# redis-trib create --replicas 1 192.168.130.242:7001 192.168.130.242:7002 
192.168.130.243:7003 192.168.130.243:7004 192.168.130.244:7005 192.168.130.244:7006
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.130.244:7005
192.168.130.243:7003
192.168.130.242:7001
Adding replica 192.168.130.243:7004 to 192.168.130.244:7005
Adding replica 192.168.130.244:7006 to 192.168.130.243:7003
Adding replica 192.168.130.242:7002 to 192.168.130.242:7001
M: a3e907fff7e7e90512570fa7284cca11dc2b268f 192.168.130.242:7001
   slots:10923-16383 (5461 slots) master
S: a821296f4a4fcbb122b31d19d89ca2d87868a8cd 192.168.130.242:7002
   replicates a3e907fff7e7e90512570fa7284cca11dc2b268f
M: 6776a3698d16d8af4655ca80ae326b48d28f2fdf 192.168.130.243:7003
   slots:5461-10922 (5462 slots) master
S: b8c71ad4e497f7205bfa8546ba90de7e2340a9ac 192.168.130.243:7004
   replicates 0892e72f9adafc986a3d6d0ce410c073d2b2414e
M: 0892e72f9adafc986a3d6d0ce410c073d2b2414e 192.168.130.244:7005
   slots:0-5460 (5461 slots) master
S: 54d910362fe57628a7be3e26450e2bff8bcfb568 192.168.130.244:7006
   replicates 6776a3698d16d8af4655ca80ae326b48d28f2fdf
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.130.242:7001)
M: a3e907fff7e7e90512570fa7284cca11dc2b268f 192.168.130.242:7001
   slots:10923-16383 (5461 slots) master
M: a821296f4a4fcbb122b31d19d89ca2d87868a8cd 192.168.130.242:7002
   slots: (0 slots) master
   replicates a3e907fff7e7e90512570fa7284cca11dc2b268f
M: 6776a3698d16d8af4655ca80ae326b48d28f2fdf 192.168.130.243:7003
   slots:5461-10922 (5462 slots) master
M: b8c71ad4e497f7205bfa8546ba90de7e2340a9ac 192.168.130.243:7004
   slots: (0 slots) master
   replicates 0892e72f9adafc986a3d6d0ce410c073d2b2414e
M: 0892e72f9adafc986a3d6d0ce410c073d2b2414e 192.168.130.244:7005
   slots:0-5460 (5461 slots) master
M: 54d910362fe57628a7be3e26450e2bff8bcfb568 192.168.130.244:7006
   slots: (0 slots) master
   replicates 6776a3698d16d8af4655ca80ae326b48d28f2fdf
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

#create --replicas 1 這裏--replicas 1 是指定複製幾份,至關於每一個master有幾個從
#redis cluster最低要求有3個master
#master的定義 host1:port host2:port host3:port host4:post 若是--replicas 1 那麼:
#host1:port == master host2:port 是 host1:port 的從
#若是--replicas 2那麼:
#host1:port == master host2:port & host3:port 都是 host1:port 的從

#M:這個是cluster自動生成的ID,集羣在通訊的時候是使用這個ID來區分的

四、鏈接cluster,(鏈接任意的Cluster集羣中的服務器便可)

# redis-cli -c -h 192.168.130.242 -p 7001  #加-c,能夠鏈接集羣的任意節點

192.168.130.242:7001> cluster nodes  #查看cluster節點
b8c71ad4e497f7205bfa8546ba90de7e2340a9ac 192.168.130.243:7004 slave 0892e72f9adafc986a3d6d0ce410c073d2b2414e 0 1465812188761 5 connected
0892e72f9adafc986a3d6d0ce410c073d2b2414e 192.168.130.244:7005 master - 0 1465812186754 5 connected 0-5460
54d910362fe57628a7be3e26450e2bff8bcfb568 192.168.130.244:7006 slave 6776a3698d16d8af4655ca80ae326b48d28f2fdf 0 1465812188259 6 connected
a3e907fff7e7e90512570fa7284cca11dc2b268f 192.168.130.242:7001 myself,master - 0 0 1 connected 10923-16383
a821296f4a4fcbb122b31d19d89ca2d87868a8cd 192.168.130.242:7002 slave a3e907fff7e7e90512570fa7284cca11dc2b268f 0 1465812187756 2 connected
6776a3698d16d8af4655ca80ae326b48d28f2fdf 192.168.130.243:7003 master - 0 1465812187256 3 connected 5461-10922

192.168.130.242:7001> cluster info  #查看cluster信息
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_sent:5107
cluster_stats_messages_received:5107

五、集羣擴容

#在另一臺機器上添加一個redis,目前我添加的是一臺兩個節點(7007,7008)
開始擴容
# redis-trib add-node 192.168.130.240:7007 192.168.130.242:7001
>>> Adding node 192.168.130.240:7007 to cluster 192.168.130.242:7001
>>> Performing Cluster Check (using node 192.168.130.242:7001)
M: a3e907fff7e7e90512570fa7284cca11dc2b268f 192.168.130.242:7001
   slots:10923-16383 (5461 slots) master
   1 additional replica(s)
S: b8c71ad4e497f7205bfa8546ba90de7e2340a9ac 192.168.130.243:7004
   slots: (0 slots) slave
   replicates 0892e72f9adafc986a3d6d0ce410c073d2b2414e
M: 0892e72f9adafc986a3d6d0ce410c073d2b2414e 192.168.130.244:7005
   slots:0-5460 (5461 slots) master
   1 additional replica(s)
S: 54d910362fe57628a7be3e26450e2bff8bcfb568 192.168.130.244:7006
   slots: (0 slots) slave
   replicates 6776a3698d16d8af4655ca80ae326b48d28f2fdf
S: a821296f4a4fcbb122b31d19d89ca2d87868a8cd 192.168.130.242:7002
   slots: (0 slots) slave
   replicates a3e907fff7e7e90512570fa7284cca11dc2b268f
M: 6776a3698d16d8af4655ca80ae326b48d28f2fdf 192.168.130.243:7003
   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.
>>> Send CLUSTER MEET to node 192.168.130.240:7007 to make it join the cluster.
[OK] New node added correctly.

命令解釋:
redis-trib add-node 要加的節點和端口,如今任意節點和端口

查看添加完成以後的結果:
# redis-cli -c -h 192.168.130.242 -p 7001
192.168.130.242: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:7
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_sent:8227
cluster_stats_messages_received:8227
192.168.130.242:7001> cluster nodes
b8c71ad4e497f7205bfa8546ba90de7e2340a9ac 192.168.130.243:7004 slave 0892e72f9adafc986a3d6d0ce410c073d2b2414e 0 1465813049184 5 connected
0892e72f9adafc986a3d6d0ce410c073d2b2414e 192.168.130.244:7005 master - 0 1465813050187 5 connected 0-5460
9ddb7fb1f4741b99b2ed1e458197680cc6ace6e7 192.168.130.240:7007 master - 0 1465813048183 0 connected
54d910362fe57628a7be3e26450e2bff8bcfb568 192.168.130.244:7006 slave 6776a3698d16d8af4655ca80ae326b48d28f2fdf 0 1465813050187 6 connected
a3e907fff7e7e90512570fa7284cca11dc2b268f 192.168.130.242:7001 myself,master - 0 0 1 connected 10923-16383
a821296f4a4fcbb122b31d19d89ca2d87868a8cd 192.168.130.242:7002 slave a3e907fff7e7e90512570fa7284cca11dc2b268f 0 1465813048684 2 connected
6776a3698d16d8af4655ca80ae326b48d28f2fdf 192.168.130.243:7003 master - 0 1465813049184 3 connected 5461-10922

六、新加上來的沒有數據-及沒有槽位,咱們能夠用命令讓他從新分片

# redis-trib reshard 192.168.130.240:7007
>>> Performing Cluster Check (using node 192.168.130.240:7007)
M: 9ddb7fb1f4741b99b2ed1e458197680cc6ace6e7 192.168.130.240:7007
   slots: (0 slots) master
   0 additional replica(s)
M: 0892e72f9adafc986a3d6d0ce410c073d2b2414e 192.168.130.244:7005
   slots:0-5460 (5461 slots) master
   1 additional replica(s)
S: b8c71ad4e497f7205bfa8546ba90de7e2340a9ac 192.168.130.243:7004
   slots: (0 slots) slave
   replicates 0892e72f9adafc986a3d6d0ce410c073d2b2414e
M: 6776a3698d16d8af4655ca80ae326b48d28f2fdf 192.168.130.243:7003
   slots:5461-10922 (5462 slots) master
   1 additional replica(s)
S: 54d910362fe57628a7be3e26450e2bff8bcfb568 192.168.130.244:7006
   slots: (0 slots) slave
   replicates 6776a3698d16d8af4655ca80ae326b48d28f2fdf
S: a821296f4a4fcbb122b31d19d89ca2d87868a8cd 192.168.130.242:7002
   slots: (0 slots) slave
   replicates a3e907fff7e7e90512570fa7284cca11dc2b268f
M: a3e907fff7e7e90512570fa7284cca11dc2b268f 192.168.130.242:7001
   slots:10923-16383 (5461 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.
How many slots do you want to move (from 1 to 16384)? 
How many slots do you want to move (from 1 to 16384)? 1

What is the receiving node ID? a3e907fff7e7e90512570fa7284cca11dc2b268f (這裏的ID)
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:all

Ready to move 1 slots.
  Source nodes:
    M: 9ddb7fb1f4741b99b2ed1e458197680cc6ace6e7 192.168.130.240:7007
   slots: (0 slots) master
   0 additional replica(s)
    M: 0892e72f9adafc986a3d6d0ce410c073d2b2414e 192.168.130.244:7005
   slots:0-5460 (5461 slots) master
   1 additional replica(s)
    M: 6776a3698d16d8af4655ca80ae326b48d28f2fdf 192.168.130.243:7003
   slots:5461-10922 (5462 slots) master
   1 additional replica(s)
  Destination node:
    M: a3e907fff7e7e90512570fa7284cca11dc2b268f 192.168.130.242:7001
   slots:10923-16383 (5461 slots) master
   1 additional replica(s)
  Resharding plan:
    Moving slot 5461 from 6776a3698d16d8af4655ca80ae326b48d28f2fdf
Do you want to proceed with the proposed reshard plan (yes/no)? yes
Moving slot 5461 from 192.168.130.243:7003 to 192.168.130.242:7001:

七、在添加一個服務器作從

在添加一個7008,讓他作7001的從
# redis-trib add-node 192.168.130.240:7008 192.168.130.242:7001
加進來以後默認就是master可是它沒有任何槽位
192.168.130.242:7001> cluster nodes
b8c71ad4e497f7205bfa8546ba90de7e2340a9ac 192.168.130.243:7004 slave 0892e72f9adafc986a3d6d0ce410c073d2b2414e 0 1465814206935 5 connected
0892e72f9adafc986a3d6d0ce410c073d2b2414e 192.168.130.244:7005 master - 0 1465814207435 5 connected 0-5460
9ddb7fb1f4741b99b2ed1e458197680cc6ace6e7 192.168.130.240:7007 master - 0 1465814205933 8 connected
54d910362fe57628a7be3e26450e2bff8bcfb568 192.168.130.244:7006 slave 6776a3698d16d8af4655ca80ae326b48d28f2fdf 0 1465814206434 6 connected
d215116baa7417f9df7fb3c123cdd043f2c44c9d 192.168.130.240:7008 master - 0 1465814206434 0 connected
a3e907fff7e7e90512570fa7284cca11dc2b268f 192.168.130.242:7001 myself,master - 0 0 7 connected 5461 10923-16383
a821296f4a4fcbb122b31d19d89ca2d87868a8cd 192.168.130.242:7002 slave a3e907fff7e7e90512570fa7284cca11dc2b268f 0 1465814205933 7 connected
6776a3698d16d8af4655ca80ae326b48d28f2fdf 192.168.130.243:7003 master - 0 1465814206935 3 connected 5462-10922

而後鏈接到7008的這個redis實例上,而後複製7007的ID
# redis-cli -c -h 192.168.130.240 -p 7008
192.168.130.240:7008> cluster replicate 9ddb7fb1f4741b99b2ed1e458197680cc6ace6e7
OK
而後在看看集羣:
192.168.130.240:7008> cluster nodes
b8c71ad4e497f7205bfa8546ba90de7e2340a9ac 192.168.130.243:7004 slave 0892e72f9adafc986a3d6d0ce410c073d2b2414e 0 1466757446668 5 connected
a821296f4a4fcbb122b31d19d89ca2d87868a8cd 192.168.130.242:7002 slave a3e907fff7e7e90512570fa7284cca11dc2b268f 0 1466757448270 7 connected
a3e907fff7e7e90512570fa7284cca11dc2b268f 192.168.130.242:7001 master - 0 1466757447167 7 connected 5461 10923-16383
54d910362fe57628a7be3e26450e2bff8bcfb568 192.168.130.244:7006 slave 6776a3698d16d8af4655ca80ae326b48d28f2fdf 0 1466757448170 3 connected
d215116baa7417f9df7fb3c123cdd043f2c44c9d 192.168.130.240:7008 myself,slave 9ddb7fb1f4741b99b2ed1e458197680cc6ace6e7 0 0 0 connected
6776a3698d16d8af4655ca80ae326b48d28f2fdf 192.168.130.243:7003 master - 0 1466757447669 3 connected 5462-10922
9ddb7fb1f4741b99b2ed1e458197680cc6ace6e7 192.168.130.240:7007 master - 0 1466757446667 8 connected
0892e72f9adafc986a3d6d0ce410c073d2b2414e 192.168.130.244:7005 master - 0 1466757446668 5 connected 0-5460

八、Cluster的主從複製這個操做也是向master發送請求,而後master作個BGSAVE而後拿過來重載一下!若是master特別大的因此要起多個Redis實例,每一個裏面存一部分。也須要注意,涉及到多key的操做!是不行的,由於你不一樣的key存在不一樣的地方!

# redis-cli -c -h 192.168.130.242 -p 7001
192.168.130.242:7001> set key100 bjwf
-> Redirected to slot [5728] located at 192.168.130.243:7003
OK
192.168.130.243:7003> set key101 bjwf
-> Redirected to slot [1601] located at 192.168.130.244:7005
OK
192.168.130.244:7005> set key102 bjwf
-> Redirected to slot [13858] located at 192.168.130.242:7001
OK
192.168.130.242:7001> set key103 bjwf
-> Redirected to slot [9731] located at 192.168.130.243:7003
OK
192.168.130.243:7003> set key104 bjwf
OK
192.168.130.243:7003> set key105 bjwf
-> Redirected to slot [1733] located at 192.168.130.244:7005
OK
192.168.130.244:7005> set key106 bjwf
-> Redirected to slot [13990] located at 192.168.130.242:7001
OK
192.168.130.242:7001> set key107 bjwf
-> Redirected to slot [9863] located at 192.168.130.243:7003
OK
192.168.130.243:7003> set key108 bjwf
OK
192.168.130.243:7003> set key109 bjwf
-> Redirected to slot [1865] located at 192.168.130.244:7005
OK

###今天先寫到這了,暫時會的就這些,之後回了在寫其餘的。以上僅爲我的收集整理,若有錯漏,大神勿噴!!!!!!!

相關文章
相關標籤/搜索