我在 Redis 中有一个特定的缓存系统。
该系统的内容非常不稳定,并且一直在添加和删除值。我想尽可能地将“使用过的”密钥保留在内存中,同时让旧密钥过期。每个请求可能需要缓存中的数百个键。
我知道我可以设置一个“足够长”的过期时间,并且只处理缓存未命中,但我希望尽可能少地丢失。
目前我正在做这样的事情,当我写入/读取缓存时(伪代码)
# write
write(key, value)
expire(key, ttl)
# read
read(key)
expire(key, ttl)
我可以使用流水线优化读取。
现在这似乎仍然不是最好的方法。有人可以给我一个更好的策略吗?