如何解释 Redis 信息中的"evicted_keys"



我们正在为Redis使用ElastiCache,并被其Evictions度量所混淆。

我很好奇Redis Info中evicted_keys度量的单位是多少?ElastiCache的医生说这是一个计数:https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.Redis.html但是对于我们的应用;驱逐;度量(源自evicted_keys(上下波动,表明它不是计数。我希望计数永远不会减少,因为我们不能";取消驱逐";钥匙。我想知道evicted_keys是否真的是一个速率(例如,驱逐/秒(,这可以解释为什么它会波动。

提前感谢您的回复!

来自INFO命令:

evicted_keys:由于maxmemory限制而收回的密钥数

要了解有关驱逐的更多信息,请参阅使用Redis作为LRU缓存-驱逐策略

此计数器在服务器启动时为零,只有在发出CONFIG RESETSTAT命令时才会重置。但是,在ElastiCache上,此命令不可用。

也就是说,ElastiCache通过计算数据点之间的差异,从这个值中导出度量。

Redis evicted_keys      0    5    12     18     22    ....
CloudWatch Evictions    0    5     7      6      4    ....

这是CloudWatch度量中的常见模式。这允许您在需要累积值时使用SUM,但也可以轻松检测速率变化或峰值。

例如,如果在一分钟内驱逐人数超过10000人,你想发出警报。如果ElastiCache将Redis的累积值直接存储为度量,这将很难实现。

此外,通过将度量仅作为该期间的逐出密钥提交,可以保护您免受服务器重置或值溢出的数据失真。虽然RedisINFO的值会回到零,但在ElastiCache上,您仍然可以获得该期间的值,并且您仍然可以在任何期间进行求和。

相关内容

  • 没有找到相关文章

最新更新