如何解释redis info中的“逐出的\u键”

gcmastyq  于 2021-06-08  发布在  Redis
关注(0)|答案(1)|浏览(353)

我们使用的是用于redis的elasticache,并且对它的特性感到困惑 Evictions 公制。
我很好奇这个单位是什么 evicted_keys redis信息的指标?elasticache医生说这是一个计数:https://docs.aws.amazon.com/amazonelasticache/latest/red-ug/cachemetrics.redis.html 但是对于我们的应用程序,我们观察了“逐出”度量(它是从 evicted_keys )上下波动,说明不是计数。我希望计数永远不会减少,因为我们不能“取消驱逐”一把钥匙。我想知道 evicted_keys 实际上是一个速率(例如,逐出/秒),这可以解释为什么它会波动。
提前感谢您的回复!

kcrjzv8t

kcrjzv8t1#

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度量中的常见模式。这允许您使用总和,如果你想要的累积值,但也很容易检测率的变化或峰值。
举个例子,如果在一分钟内逐出超过10000次,你想发出警报。如果elasticache将redis的累积值直接存储为一个度量,那么这将很难实现。
另外,通过仅将度量作为期间的逐出键提交,可以防止服务器重置或值溢出造成的数据失真。而redis INFO 值将返回到零,在elasticache上,您仍然可以得到该期间的值,并且您仍然可以在任何期间进行运行求和。

相关问题