Redis上的优雅失效

时间:2018-03-19 11:07:01

标签: caching redis cache-invalidation

我正在尝试找到像Varnish这样的产品,它可以让我有可能处理缓存上的grafecul失效,这基本上是保证客户端缓存时间的能力,因为当密钥值无效或过期时,不是客户端本身要从原点获取内容需要等待很长时间,但总是缓存系统单独为客户端执行,同时客户端只获取缓存内容,即使它无效。

场景示例:

缓存值有效的场景。

1)客户 - >缓存有效 - >缓存对象

缓存值无效的场景。

1)客户 - >缓存无效 - >旧缓存对象

2)缓存系统 - >来源 - >替换旧的缓存对象

有没有办法做这个预取,确保客户端使用Redis的缓存响应时间?

1 个答案:

答案 0 :(得分:0)

您需要处理如何使键值无效。之后:

  

缓存值无效的场景。

     

1)客户 - >缓存无效 - >旧缓存对象

     

2)缓存系统 - >来源 - >替换旧的缓存对象

如果您已经知道密钥无效/已过期,则Redis可以选择获取上一个并将新值设置为缓存。 GETSET key value

示例:

redis> SET mykey "Hello"
"OK"
redis> GETSET mykey "World"
"Hello"
redis> GET mykey
"World"
redis>