为什么我的 Redis 备份文件 (.rdb) 始终小于 ElastiCache 集群中的 BytesUsedForCache 指标?

上次更新日期:2021 年 2 月 16 日

我使用的是 Amazon ElastiCache for Redis。为什么我的 Redis 备份文件 (.rdb) 始终小于集群中的 BytesUsedForCache 指标

解决方法

BytesUsedForCache 指标包括用于所有用途的字节。这包括实际的密钥大小、标头和内存碎片。在 Redis 被动或主动异步删除过期密钥之前,它们也会消耗内存。有关更多信息,请参阅 Redis.io 网站上的密钥过期秒数 – Redis 如何让密钥过期

ElastiCache 使用分支和无分支备份流程。两种流程均会转储磁盘上的所有密钥,以创建 .rdb 文件。.rdb 文件不会使用指针或已过期的密钥,并且也不会处理内存碎片、元数据或缓冲区。这意味着备份文件的大小会小于 BytesUsedForCache 指标。

例如,您的 Redis 集群可能会显示 BytesUsedforCache 为 15GiB。此外还可能会显示备份初始化时集群上有大量的读/写请求。备份过程完成后,备份缓存大小可能在 10GiB 或 12GiB 之间,而不是 15GiB。这是因为备份不包含已过期的密钥、指针等。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?