Redis 缓存——什么时候可以触发大规模驱逐?

Redis caches - when can large evictions be triggered?

我们在 Azure Standard 2.5gb 上有一个 Redis 缓存。我们观察到以下行为:

我们时不时地观察到内存使用量大幅下降。似乎有很多资源正在被逐出。

注意事项:

我的问题是,除了应用程序逻辑显式驱逐键外,Redis 是否还有其他情况会驱逐大量键?

您能否将您的 redis 逐出策略更改为 noeviction,看看是否能解决您的问题?这样做意味着您必须自己管理所有内容。 https://redis.io/topics/lru-cache 有更多详细信息。

内存清理可能不代表逐出。

你说"it appears"很多资源都被驱逐了,但如果你只是靠回收的内存做那种表象,那你可能是在追鬼。您是否检查过此图如何与 Azure 门户中提供的 Total Keys 指标重叠?叠加这两个系列应该可以让您看到内存回收 真的 是由于驱逐还是由于其他进程(例如 Azure)可能会定期在缓存上调用 MEMORY PURGE清理脏页的实例?