云数据库Redis版混合存储型实例使用内存与磁盘结合的方式保存数据,因此选型需要同时考虑内存与磁盘的配置。

规格说明

创建Redis混合存储型实例时,您需要选择合适的内存配置与磁盘配置:内存决定能存储的热数据量,磁盘决定能存储的数据总量。云数据库Redis版将根据您选择的配置调配合适的CPU资源创建实例。 例如,选择64G内存256G磁盘主从版,则实例最多能存储256 GB的数据,在这些数据中,有64 GB可以缓存到内存中。
说明
  • CPU核心数暂不支持自定义。
  • 内存和磁盘中会保存key对应的元信息,其中包含key的过期时间、LRU时钟、类型等,因此选型时需要留有一定的额外容量,请参见下方的详细说明。

目前可选的规格请参见规格性能

内存选型

为了更好地兼容原生Redis协议,Redis混合存储实例的数据中,所有的key都必须常驻内存,key的value会被云数据库Redis版根据冷热度自动保存在内存或磁盘中。因此,创建实例时选择的内存容量需能储存所有的key及其对应的元信息。下表是基于key总数的选型建议。

Key总数 推荐的内存规格
<2千万 64 GB、32 GB、16 GB
2千万~5千万 64 GB、32 GB
5千万~1亿 128 GB、64 GB、32 GB
>1亿 128 GB、64 GB
说明 内存容量决定创建实例时分配到的CPU资源,因此内存容量越大性能越高。

磁盘选型

磁盘中保存Redis的所有数据,每个key都会产生元信息,占用额外的空间,因此选择的磁盘容量建议为实际需求的1.2~1.5倍。

实例性能

Redis混合存储型实例的性能与实例规格以及业务中数据被访问的概率有很大的关系:实例规格越高,内存数据的访问比重越高,性能就越强。理想的场景中,所有的访问都命中内存,此时实例性能与Redis高性能内存型实例基本一致;反之,在内存命中率较低,甚至所有访问都需要从磁盘读取数据的情况下,混合存储型实例的性能将达到低谷。

说明 请参见选型指南-场景了解更多适合使用Redis混合存储实例的场景。

在如下的三个测试场景中,Redis实例储存了总数2千万的key,value大小均为1 KB。测试方式为使用GET命令获取value,三个场景的访问目标不同。

表 1. 性能测试结果
测试场景 高性能内存型实例QPS 混合存储型实例QPS
随机访问 12.3万 1.5万
高斯分布80%的概率访问20%的key 12.0万 5.4万
高斯分布99%的概率访问1%的key 13.5万 11.4万

常见问题

磁盘还有剩余容量,但内存满了,写入时报错,提示OOM error,怎么解决?

答:请参见下表中的原因分析和解决方案介绍。

原因 解决方案
内存规格较低,容量不足以储存所有key及其元信息。 变更配置,提高内存容量。
小于96 Byte的value即使保存到磁盘也会在内存中生成元信息,占用与value本身相当的空间,因此Redis混合存储实例目前不会将这类value保存到磁盘。 如果这类value总数很多,也会占用较大内存。
说明 云数据库Redis版正在优化混合存储内核,以适应尽量多的场景。
  • 变更配置,提高内存容量。
  • 使用Redis高性能内存型实例。

更多信息

文档 说明
什么是Redis混合存储型实例 介绍混合存储型实例的特性、架构及其适用场景。
命令兼容 介绍混合存储型实例的命令使用限制。
选型指南-场景篇 帮助您分析使用场景,在混合存储型实例和高性能内存型实例之间做出合理的选择。