我正在Asp.net Core MVC 2.1应用程序中实现Azure Redis缓存。我需要全局设置所有密钥的默认密钥到期值。而且,我还应该能够覆盖各个键的有效期限。
我知道我们可以使用IDatabase.KeyExpire方法设置单个键的到期时间,但是我正在寻找某种适用于所有键的配置。
注意:我使用的是默认驱逐策略(volatile-lru),未对其进行任何更改。
答案 0 :(得分:0)
AFAIK,redis不提供此功能-您必须指定自动失效的密钥。请参阅此article。
当我们转到IDatabase
的定义时,我们可以看到下图KeyExpire
,并且仅指定单个密钥来设置到期时间,而KeyExists
可以设置一个密钥数组。因此,您必须为每个键设置过期值。
有关更多详细信息,您可以转到此article。
答案 1 :(得分:0)
您是否要通过不必对每个键执行EXPIRE命令来保存?如果是这样,可以同时执行SET和EXPIRE的Redis SETEX命令可能会有所帮助,并且您可以通过扩展方法/包装器使用预配置的到期值。使用到期时,StackExchange.Redis使用SETEX命令。要设置各个键的有效期,可以使用EXPIRE命令。