分布式缓存
文章目录
- 微服务框架
- 分布式缓存
- 44 Redis 分片集群
- 44.3 集群伸缩
- 44.3.1 添加一个节点到集群
44 Redis 分片集群
44.3 集群伸缩
44.3.1 添加一个节点到集群
redis-cli --cluster提供了很多操作集群的命令,可以通过下面方式查看:
比如,添加节点的命令:
试试
【案例】向集群中添加一个新的master节点,并向其中存储 num = 10
需求:
- 启动一个新的redis实例,端口为7004
- 添加7004到之前的集群,并作为一个master节点
- 给7004节点分配插槽,使得num这个key可以存储到7004实例
先来一个新的 Redis 实例
先开个 端口 7004 和 17004
创建实例
OK,配置就准备好了,
运行 redis-server 7004/redis.conf
这样就成功启动了
添加7004 到集群中
redis-cli --cluster add-node 175.27.194.41:7004 175.27.194.41:7001
查一下 redis-cli -p 7001 cluster nodes
OK,确实加进来了,但是现在 7004 上面还没有任何的插槽
查一下num 这个key 的插槽值
OK, 是2765 ,意思就是说 我现在只要把 2765 这个插槽分配到 7004 节点
就可以让num 回到7004 节点
【插槽分配】
看看帮助
这就是分配插槽的命令
直接试试
redis-cli --cluster reshard 175.27.194.41:7001
你想移动多少个插槽 3000 个
接收这些插槽的 ID 是什么?
就是这一串
插槽从哪里作为数据源去拷贝 7001 的ID
直接done 结束
要不要将这 3000 个插槽移动过去 yes
这就在移动 了
OK,移动完成
再次查看集群信息
没毛病,7004 有了0-2999 的3000 个插槽,7001 只剩下3000 - 5460 了
现在来看看num 在哪儿
妙啊,这样就跳到 7004 了,现在num 就已经存在7004 的节点上了
【黑马老师留的作业:删除7004 这个节点】
我盲猜就是这个了
直接试试
好家伙,说 7004 不是空的,要我先重新分配一下插槽再 试
OK,先把插槽还给7001
等待 移动完成
OK,移动完成
查看集群信息
现在7004 一个插槽都没有了
再试一次
应该是成功了
这样就没有7004 了, 删除成功