在 Flash 上使用 Redis 存储大 key 的要求

上次更新时间:2024 年 4 月 18 日

目标

在 Flash 上配置 Redis 时,了解对值大小的限制。RAM 百分比是否需要大于最大的单值大小?例如,在以下场景中

  • 内存限制 = 10 GB
  • RAM 中的 RoF = 20%(2GB)
  • 键值大小 > 2GB(例如流)

Redis 如何从磁盘中获取值并将其传输到 RAM 中?

解决方案

对于值的大小而言,使之成为可行的解决方案的 自动分层 需要具备以下要求

  • 所有键都必须适合 RAM 大小
  • 从 Flash 存储中检索的任何键都需要适合 RAM 大小

这意味着已配置的 RAM 必须大于数据集中任何键的最大值。此外,RAM 还应有足够的空间来存储所有键及其开销。

使用启用 Redis on Flash 时,存储较大的键值对(或使用大型 Redis 流)通常是反模式。如果您必须从 Flash 中提取整个 1MB HASH,只是为了在 hash 内设置一个 pair,那么就会出现不必要的开销。

参考

请参阅 自动分层 功能文档。