redis集群结构设计
数据存储设计
当要存储一个key时:
- 通过算法设计,计算出key应该保存的位置,CRC(key)%16384
- 将所有的存储空间计划切割成16384份,每台主机保存一部分
-
- 每份代表的是一个存储空间,不是一个key的保存空间
- 将key按照计算出的结果放到对应的存储空间
当集群增加一台主机时:
- 将所有的存储空间计划切割成16384份
- 每个主机将该属于新主机的slot发送给新主机,即数据转交
集群内部通信设计
配置集群
配置文件:
开启集群:
需要ruby和rubygems
replicas 1表示一个master有一个slave
数据操作
可以看到,只能使用redis-cli -c才能像单机那样使用redis