【问题标题】:In Redis, can we check age of cache?在 Redis 中,我们可以检查缓存的年龄吗?
【发布时间】:2020-10-01 04:10:27
【问题描述】:

我们将一个序列化的对象存储到 Redis 缓存中。我们想在检索新数据和更新缓存之前检查缓存的年龄。如果少于 10 分钟,因为在此期间数据可能没有改变,所以我们从缓存中提取并发送到 API 输出。如果没有,我们仍然会将缓存的数据返回到输出,请求新的数据拉取,如果有新数据可用则更新缓存,并提示 Web 侦听器获取最新更新。

现有的缓存 API 有没有办法可以检查 Redis 缓存键的年龄?如果没有,有什么解决方法吗?

【问题讨论】:

标签: c# redis


【解决方案1】:

我认为您从错误的角度看待它。

如果您使用 Redis 的 EXPIRE 并且每个缓存键的 TTL 为 10 分钟,会发生什么情况? Redis 会将数据保留 10 分钟然后过期,简化了应用程序的逻辑。您将不再需要主动检查密钥的“年龄”——如果它不在 Redis 中,那么您需要获取(参考查找所谓的“缓存旁边”模式)。

【讨论】:

    猜你喜欢
    • 2021-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多