【发布时间】:2021-12-31 03:29:52
【问题描述】:
对于 Redis 等缓存的密钥失效,是否有任何最佳实践?我应该在 TTL 过期后让密钥失效,还是应该对相关密钥调用 delete 以从缓存中删除该密钥?
主动调用删除操作会增加负载并损害缓存的吞吐量吗?
【问题讨论】:
标签: caching design-patterns redis architecture
对于 Redis 等缓存的密钥失效,是否有任何最佳实践?我应该在 TTL 过期后让密钥失效,还是应该对相关密钥调用 delete 以从缓存中删除该密钥?
主动调用删除操作会增加负载并损害缓存的吞吐量吗?
【问题讨论】:
标签: caching design-patterns redis architecture
您似乎在询问在将 Redis 用作缓存时如何处理 Redis 中的内存管理。 Redis 实现了一些配置maxmemory 、maxmemory-policy、maxmemory-samples、replica-ignore-maxmemory、active-expire-effort。有关这些的更多 details,请参阅您的版本的自我文档。
Redis 配置允许您在 CPU、内存和延迟方面进行权衡,而无需进行外部内存管理。话虽如此,当您的应用程序知道状态更改时,DEL 可用于使密钥无效。并且 TTLs 集可以与一些内存管理策略一起使用。
【讨论】: