我们正在redis缓存中存储一个序列化对象。我们要在检索新数据和更新缓存之前检查缓存的年龄。如果不到10分钟,因为数据可能在这段时间内没有变化,所以我们从缓存中提取数据并发送到api输出。否则,我们仍然会将缓存的数据返回到输出,请求新的数据拉取,如果有新数据可用,则更新缓存,并通知web侦听器获取最新更新。现有的缓存api有没有办法检查redis缓存密钥的年龄?如果没有,有解决办法吗?
am46iovg1#
我认为你从错误的Angular 看问题。如果你使用redis的 EXPIRE 你的每把钥匙的ttl都是10分钟?redis将数据保存10分钟,然后使其过期,从而简化应用程序的逻辑。您将不再需要主动检查密钥的“年龄”——如果它不在redis中,那么您需要获取(作为参考,请查看所谓的“cache aside”模式)。
EXPIRE
1条答案
按热度按时间am46iovg1#
我认为你从错误的Angular 看问题。
如果你使用redis的
EXPIRE
你的每把钥匙的ttl都是10分钟?redis将数据保存10分钟,然后使其过期,从而简化应用程序的逻辑。您将不再需要主动检查密钥的“年龄”——如果它不在redis中,那么您需要获取(作为参考,请查看所谓的“cache aside”模式)。