Redis 分区

Redis 分区

分区是将数据分割成多个Redis实例的过程,每个实例只包含一部分键。

分区的优点

  • 它允许使用许多计算机的内存总和来存储更大的数据库。如果没有分区,您将受限于单台计算机可以支持的内存量。

  • 它允许将计算能力扩展到多个核心和多个计算机,以及将网络带宽扩展到多个计算机和网络适配器。

分区的缺点

  • 通常不支持涉及多个键的操作。例如,如果存储在映射到不同Redis实例的键中的两个集合进行交集运算,则无法执行此操作。

  • 无法使用涉及多个键的Redis事务。

  • 分区的粒度是键,因此无法使用单个大键(例如非常大的排序集)分割数据集。

  • 使用分区时,数据处理更复杂。例如,您必须处理多个RDB / AOF文件,并且要备份数据,您需要从多个实例和主机汇总持久性文件。

  • 添加和删除容量可能会很复杂。例如,Redis Cluster在运行时支持数据重新平衡的能力,能够动态添加和删除节点。但是,诸如客户端分区和代理的其他系统不支持此功能。一种称为 预分片 的技术有助于解决这个问题。

分区类型

Redis提供了两种分区类型。假设我们有四个Redis实例:R0,R1,R2,R3,并且有许多代表用户的键,如user:1,user:2,…等等。

范围分区

范围分区通过将对象范围映射到特定的Redis实例来实现。假设在我们的示例中,ID从0到10000的用户将进入实例R0,而ID从10001到20000的用户将进入实例R1,依此类推。

哈希分区

在这种类型的分区中,使用哈希函数(例如模运算)将键转换为数字,然后将数据存储在不同的Redis实例中。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程