如何使用StackExchange.Redis为Azure Redis缓存的所有密钥全局设置密钥过期值?

c6ubokkw  于 2023-11-21  发布在  Redis
关注(0)|答案(3)|浏览(179)

我正在Asp.net Core MVC 2.1应用程序中实现Azure Redis Cache。我需要全局设置所有密钥的默认密钥过期值。而且我应该能够覆盖单个密钥的过期时间。
我知道我们可以使用IDatlog.KeyExpire方法设置单个密钥的过期时间,但我正在寻找某种适用于所有密钥的配置。
注意:我使用的是默认的驱逐策略(volatile-lru),没有做任何修改。

wqnecbli

wqnecbli1#

另外,redis不提供这个功能-你必须指定自动过期的密钥。请参考这篇文章。
当我们转到IDatabase的定义时,我们可以看到下面的图片KeyExpire,并且只指定单个键来设置过期时间,而不是KeyExists可以设置键的数组。所以你必须为每个键设置过期值
x1c 0d1x的数据
有关更多详细信息,您可以访问此article

mrwjdhj3

mrwjdhj32#

您是否尝试通过不必为每个键执行EXPIRE命令来保存?如果是这样,同时执行SET和EXPIRE的Redis SETEX命令可能会有所帮助,并且您可以通过扩展方法/ Package 器使用预先配置的到期值。StackExchange.Redis在使用到期时使用SETEX命令。要为单个键设置到期,您可以使用EXPIRE命令。

bxfogqkk

bxfogqkk3#

在StackExchange.Redis中,可以使用IServer接口上的SetConfig方法为所有键设置默认过期时间。

redisServer.ConfigSet("expire", (int)defaultExpiry.TotalSeconds);

字符串

相关问题