【问题标题】:What are the pros and cons of using TTL vs actively sending a request to invalidate a key to invalidate a key in a cache?使用 TTL 与主动发送请求以使密钥无效以使缓存中的密钥无效的优缺点是什么?
【发布时间】:2021-12-31 03:29:52
【问题描述】:

对于 Redis 等缓存的密钥失效,是否有任何最佳实践?我应该在 TTL 过期后让密钥失效,还是应该对相关密钥调用 delete 以从缓存中删除该密钥?

主动调用删除操作会增加负载并损害缓存的吞吐量吗?

【问题讨论】:

    标签: caching design-patterns redis architecture


    【解决方案1】:

    您似乎在询问在将 Redis 用作缓存时如何处理 Redis 中的内存管理。 Redis 实现了一些配置maxmemory maxmemory-policymaxmemory-samplesreplica-ignore-maxmemoryactive-expire-effort。有关这些的更多 details,请参阅您的版本的自我文档。

    Redis 配置允许您在 CPU、内存和延迟方面进行权衡,而无需进行外部内存管理。话虽如此,当您的应用程序知道状态更改时,DEL 可用于使密钥无效。并且 TTLs 集可以与一些内存管理策略一起使用。

    【讨论】:

      猜你喜欢
      • 2016-07-04
      • 1970-01-01
      • 2019-04-30
      • 1970-01-01
      • 1970-01-01
      • 2015-09-25
      • 1970-01-01
      • 2018-12-25
      • 1970-01-01
      相关资源
      最近更新 更多