我有一个场景,我计划设置Azure Redis缓存条目到期时间,以确保我们不会在特定时间点之后保留已知无值的数据,例如
cache.StringSet(this.cacheId, this.Serialize(), expiry);
此外,目的是通过包含比实际使用的条目更多的条目来保持Redis缓存性能不受任何影响。
Azure Redis是否将条目刷新为已达到定义的到期时间,或仅在压力减少内存占用和后端持久存储时执行此操作?
答案 0 :(得分:4)
Azure Redis在到期时使用标准Redis行为,有关详细信息,请参阅Redis Documentation。以下是该页面的引用......
Redis如何过期密钥
Redis键以两种方式过期:被动方式和主动方式。 只有当某个客户端尝试访问密钥时,密钥才会主动过期 密钥被发现超时。
当然这还不够,因为过期的密钥永远不会存在 再次访问。无论如何,这些密钥应该过期,因此定期Redis 在具有过期集的键中随机测试几个键。所有的钥匙 从键空间中删除已经过期的内容。