深度原理学习–Redis集群( 四 )


接下来执行命令
1redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6479 127.0.0.1:6480 127.0.0.1:6579 127.0.0.1:6580 --cluster-replicas 1
当你看到输出了
1[OK] All 16384 slots covered
就表示Redis Cluster已经创建成功了 。
查看节点信息
此时我们使用cluster nodes 命令就可查看Redis Cluster的节点信息了 。

深度原理学习–Redis集群

文章插图
cluster nodes
可以看到,6379、6380和6479三个节点被配置为master节点 。
reshard
接下来我们再来尝试一下reshard操作
深度原理学习–Redis集群

文章插图
reshard_start
如图,输入命令
1redis-cli --cluster reshard 127.0.0.1:6380
Redis Cluster会问你要移动多少个槽位,这里我们移动1000个,接着会询问你要移动到哪个节点,这里我们输入6479的NODE ID
深度原理学习–Redis集群

文章插图
reshard_end
reshard完成后,可以输入命令查看节点的情况
1redis-cli --cluster check 127.0.0.1:6480
可以看到6479节点已经多了1000个槽位了,分别是0-498和5461-5961 。
新增master节点
深度原理学习–Redis集群

文章插图
add_node我们可以使用add-node命令为Redis Cluster新增master节点,可以看到我们增加的是6679节点,新增成功后,并不会为任何slot提供服务 。
新增slave节点
深度原理学习–Redis集群

文章插图
add_slave
我们也可以用add-node命令新增slave节点,只不过需要加上--cluster-slave参数,并且使用--cluster-master-id指明新增的slave属于哪个master 。
总结
最后来总结一下,我们介绍了
Redis Cluster的特性:写安全、可用性、性能
Key分配模型:使用CRC16算法,如果需要分配到相同的slot,可以使用tag
两种重定向:MOVED和ASK
容错机制:PFAIL和FAIL两种状态
最后又动手搭建了一个实验的Redis Cluster 。




推荐阅读