Redis 简明教程
Redis - Partitioning
分区是将你的数据拆分成多个 Redis 实例的过程,以便每个实例只包含你的键子集。
Benefits of Partitioning
-
它允许基于多台计算机内存总和的更大数据库。不分区的话,你将受到一台计算机能够支持的内存大小的限制。
-
它允许将计算能力扩展到多个核心和多台计算机,将网络带宽扩展到多台计算机和网络适配器。
Disadvantages of Partitioning
-
通常不支持涉及多个键的操作。例如,如果两个集合存储在映射到不同 Redis 实例的键中,你无法执行这两个集合之间的交集。
-
涉及多个键的 Redis 事务无法使用。
-
分区的颗粒度是键,因此无法使用一个很庞大的键(例如很大的排序集)对数据集进行分片。
-
使用分区时,数据处理更加复杂。例如,你必须处理多个 RDB/AOF 文件,并且为了获取数据的备份,你需要汇总来自多个实例和主机的持久文件。
-
增减容量可能很复杂。例如,Redis 集群主要支持数据透明重新平衡,并且能够在运行时增减节点。但是,其他系统(比如客户端分区和代理)不支持此特性。一种称为 Presharding 的技术对此有所帮助。