Appearance
Redis集群模式
安装redis
https://redis.io/download redis-server 在官网下载包中的src文件中获取
7000中的 redis.conf 配置文件
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
- 同理复制 port 7000~7005 一一对应
运行redis
- cd 7000
- ../redis-server ./redis.conf
创建集群命令
Redis Cluster 在5.0之后取消了ruby脚本 redis-trib.rb的支持(手动命令行添加集群的方式不变),集合到redis-cli里,避免了再安装ruby的相关环境。直接使用redis-clit的参数--cluster 来取代
redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1
- 显示集群状态
7000 7001 7002 是主节点,7003 7004 7005是从节点
测试集群,set/get key
工具尝试连接一个端口7000查看key、检查下redis运行端口状态
kill 81530 #kill 掉7000 节点
再查看状态
redis-cli --cluster check 127.0.0.1:7001
添加新节点 7006
redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7000
分配槽点
redis-cli --cluster reshard 127.0.0.1:7000
四个主节点,槽点16384 / 4 = 4096
如果我们不打算从特定的节点上取出指定数量的哈希槽, 那么可以向 redis-trib 输入 all , 这样的话, 集群中的所有主节点都会成为源节点, redis-trib 将从各个源节点中各取出一部分哈希槽, 凑够 4096 个, 然后移动到7006节点上; 输入all,将会开始迁移 重新分配槽点后