redis自带的集群

2021/4/28 2:26:30

本文主要是介绍redis自带的集群,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.进入redis安装目录下的utils中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.编辑create-cluster脚本
读readme可以查看用法。
在这里插入图片描述

3.启动集群中的6个redis实例。
端口号分别是30001、30002.。。。。。30006.
在这里插入图片描述
4. 各master领取槽位,并给master设置slave。
在这里插入图片描述
5.测试
如果用普通的客户端方式连接:redis-cli -p 30001,set k1,此时会报错,告诉我们,要去30003的redis去创建k1(因为k1被计算后分在了12706槽位)。
如果用集群的方式连接客户端:redis-cli -c -p 30001,set k1 sdfsdf,此时集群计算后得知应该在30003这台redis上创建,它会自动 redirect 到30003,并将k1 存储在30003这台redis上。
在这里插入图片描述
同理,存取其他值,也是根据计算得到的槽位自己路由到不同的reids上执行。
在这里插入图片描述
6.事务
在这里插入图片描述
7.带标签的key 开启事务
对于带有同一标签的key会被计算位于同一槽位,从而存储在同一redis实例中,不会来回跳转,此时可以开启事务,执行事务。
在这里插入图片描述
8.停止集群,清理集群
在这里插入图片描述
9.命令的方式启动集群,做到真正的分布式集群。
上面通过脚本启动集群的方式只能在单机上启动多个实例,并不能真正做到分布式。通过命令的方式可以指定ip、port,真正的创建集群
在这里插入图片描述
在这里插入图片描述
10.查看帮助
在这里插入图片描述
11.数据倾斜时重新移动。
在这里插入图片描述
从30001这台机器上移动2000个槽位到指定Id对应的机器上,可以指定要移动的数据源头,指定完后输入 ‘done’ 代表输入结束。此处只知道从30001上移动2000个槽位,但是具体移动哪些槽位,我们并不知道,由redis自动执行的。
在这里插入图片描述
12.检查移动数据后的结果
可以看出,此时这三台机器上的槽位数已经是移动后的了。
在这里插入图片描述
除此之外,还可以通过check命令查看
在这里插入图片描述
在这里插入图片描述



这篇关于redis自带的集群的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程