Redis分区:
分区时分割数据到多个redis实例的处理过程,因此每个实例只保存Key的一个子集。
分区的优势:
- 通过利用多台计算机内存和值,允许我们构造更大的数据库
- 铜鼓多核和多台计算机,允许我们扩展计算能力
- 通过多台计算机和网络适配器,允许我们扩展网络带宽
分区的不足:
redis的一些特性在分区方面表现的不是很好:
- 涉及多个key的操作通常是不支持的。举例来说,当两个set映射到不同的redis实例上时,你就不能对这两个set执行交集操作
- 设计多个key的redis事务不能使用
- 当使用分区时,数据处理较为复杂,比如你需要处理多个rdb/aof文件,并且从多个实例和主机备份持久化文件
- 增加或删除容量也比较复杂。redis集群大多数支持在运行时增加、删除节点的透明数据平衡能力,但是类似于客户端分区、代理等其他系统则不支持这项特性
分区类型:
redis有两种类型区分,假设有四个redis实例R0,R1,R2,R3,和类似user:1,user2这样的表示用户的多个key,对既定的key有多种不同方式来选择这个key存放在哪个实例中,也就是说,有不同的系统来映射某个key到某个redis服务。
范围分区:
最简单的分区方式时按范围分区,就是映射一定范围的对象到特定的redis实例
比如,ID从0到10000的用户会保存到实例R0,ID从10001到