Redis教程

Redis 分区

分区用于将您的Redis数据拆分为多个Redis实例,以便每个实例仅包含密钥的一个子集。
它是通常用于大型数据库。

分区类型

redis中有两种分区类型:
范围分区 哈希分区

范围分区

范围分区是执行分区的最简单方法之一。通过将对象范围映射到特定的Redis实例来完成。
例如:
假设您有3000个用户。因此,可以说从ID 0到ID 1000的用户将进入实例R0,而从ID 1001到ID 2000的用户将进入实例R1,从ID 2001到ID 3000的用户将进入实例R2,依此类推。

哈希分区

哈希分区是范围分区的替代方法。在哈希分区中,哈希函数用于将密钥转换为数字,然后将数据存储在不同的Redis实例中。

Redis分区的优点

分区有助于您使用多台计算机的集合内存。例如: 对于较大的数据库,您需要大量的内存,因此分区可提供来自不同计算机的内存总和。如果不进行分区,则只能使用一台计算机可以支持的有限数量的内存。 分区还用于将计算能力扩展到多核和多台计算机,并将网络带宽扩展到多台计算机和网络适配器。

Redis分区的缺点

分区有一些缺点,因为Redis的某些功能会受到分区的阻碍。
分区通常不支持具有多个键的操作。例如,如果两个集合存储在映射到不同Redis实例的键中,则无法执行相交。 分区不支持具有多个键的事务。 分区的粒度是关键,因此无法使用单个大键(如非常大的排序集)对数据集进行分片。 使用分区时,数据处理更为复杂,例如,您必须处理多个RDB/AOF文件,并且要备份数据,则需要聚合来自多个实例和主机的持久性文件。 添加和删除容量可能很复杂。例如,Redis Cluster在很大程度上支持透明的数据重新平衡,并能够在运行时添加和删除节点,但是其他系统(例如客户端分区和代理)不支持此功能。但是,在这方面,一种称为"预分片"的技术会有所帮助。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4