Redis 如何管理未使用的缓存键?
Posted
技术标签:
【中文标题】Redis 如何管理未使用的缓存键?【英文标题】:How Redis manage the unused cache keys? 【发布时间】:2020-04-14 01:02:05 【问题描述】:我的问题很简单
假设我没有为生成的缓存键指定 expires_in 键
假设我为 posts
生成了一个缓存键,键为 "posts/#maximum_record_updated at"
,没有 expires_in 键
现在我的内容已更改,新密钥已设置并正在与新的"posts/#maximum_record_updated_at"
一起使用
缓存现在只调用最新的键
现在的问题是……第一个不再使用且未指定 expires_in
的密钥会发生什么?
它会永远存在吗?如果不再使用,Redis 会设法将其删除?
我知道我只会简单地指定 expires_in
,但帖子(在我的情况下)可能会保持 1 周而没有任何变化,可能是几个月、几年,所以我只有在某些事情发生变化时才会生成新的缓存键
我只是担心旧键和任何意外的内存问题
【问题讨论】:
【参考方案1】:旧的未使用密钥将保留在那里,直到 Redis 达到 maxmemory
使用率。
然后,根据 maxmemory-policy
的配置值,Redis 将停止接受写入命令或开始驱逐键。见https://redis.io/topics/lru-cache
【讨论】:
以上是关于Redis 如何管理未使用的缓存键?的主要内容,如果未能解决你的问题,请参考以下文章