【问题标题】:Does Azure Redis Cache flushes items when expiration hit到期时 Azure Redis 缓存是否刷新项目
【发布时间】:2016-01-31 05:37:19
【问题描述】:

我有一个场景,我计划设置 Azure Redis 缓存条目过期时间,以确保我们不会保留已知在特定时间点之后没有价值的数据,例如

cache.StringSet(this.cacheId, this.Serialize(), expiry);

此外,其目的是防止 Redis 缓存性能因包含比实际使用的条目更多的条目而受到任何影响。

Azure Redis 是在条目达到定义的过期时间时刷新条目,还是仅在需要减少内存占用和后端持久存储时才这样做?

【问题讨论】:

    标签: redis azure-redis-cache


    【解决方案1】:

    Azure Redis 在到期时使用标准 Redis 行为,有关详细信息,请参阅 Redis Documentation。这是该页面的引用...

    Redis 如何使密钥过期

    Redis 密钥以两种方式过期:被动方式和主动方式。 仅当某些客户端尝试访问密钥时,密钥就会主动过期,并且 发现key超时了。

    当然这还不够,因为有过期的密钥永远不会 再次访问。这些密钥无论如何都应该过期,所以定期 Redis 在设置过期的键中随机测试几个键。所有的钥匙 已经过期的会从keyspace中删除。

    【讨论】:

    • 是不是说到了过期时间就会自动删除key?
    • 是的,实际上密钥会被自动删除。一旦达到到期时间,它就不会返回给任何要求该密钥的人。但是,它在过期后的一段时间内可能不会从内存中物理删除。
    • 如果我没有在 StringSet 中设置过期变量值,那么在 azure redis 缓存中可以使用多少天/多少天的键和相应的数据。提前致谢。
    猜你喜欢
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 2015-11-04
    相关资源
    最近更新 更多