哈希分布
数据分散度高,键值分布业务无关
- 节点取余 注意节点伸缩时候的处理 //客户端分片
- 一致性哈希取余 数据漂移,就近影响改动 //客户端分片,一般节点比较多的地方
- 虚拟槽分区 0-16383 //服务端管理槽、节点、数据
顺序分布
数据分散度易倾斜
键值业务相关
集群搭建
- 节点
- meet
- 指派槽
- 复制
特性:复制、高可用、分片
安装配置
1、原生命令
step1
port ${port}
daemonize yes
dir "/data"
dbfilename "dump-${port}.rdb"
logfile "${port}.log"
cluster-enabled yes
cluster-config-file nodes-${port}.conf
cluster-node-timeout 15000
cluster-config-file "nodes.conf"
cluster-require-full-coverage yes //改为no,表示有一个节点坏掉,整个集群都不能用了step2
redis-server redis-7000.conf step3
cluster meet ip port
eg :redis-cli -h 127.0.0.1 -9 7000 cluster meet 127.0.0.1 7001 分配槽
cluster addslots slot [slot...]
eg:
redis-cli -h 127.0.0.1 -p 7000 cluster addslots {0...5461}
redis-cli -h 127.0.0.1 -p 7001 cluster addslots {5462...10922}设置主从
cluster replicate node-id
eg:
redis-cli -h 127.0.0.1 -p 7003 cluster replicate ${node-id-7000}2、官方工具