如何使用Dotnet Core获取Redis上密钥的到期时间?
我正在按照此示例在Dotnet
Core上实现Redis缓存。
不幸的是,似乎Get(key)和GetString(key)都只返回值,而不是诸如过期之类的元数据。
当我使用redis-cli时,我可以使用来检索数据和元数据 HGETALL key
1) "absexp"2) "637153531959962660"
3) "data"
4) "[{<snip>}]"
5) "sldexp"
6) "-1"
有什么办法可以从我的代码访问此元数据?
当然,可能存在一些变通办法,例如在数据对象本身中添加有效期限或添加包含元数据的第二个键,但是这两种解决方案都不是很优雅。
回答:
假设您正在使用Microsoft.Extensions.Caching.StackExchangeRedis。
无法通过查看文档和源代码来解决这个问题。
您将必须直接使用StackExchange.Redis获取它。
遵循RedisCache.cs上使用的相同方法:
//RedisCacheOptions options as passed to RedisCache contructor.ConnectionMultiplexer connection = ConnectionMultiplexer.Connect(options.ConfigurationOptions);
IDatabase cache = connection.GetDatabase();
HashEntry[] results = cache.HashGetAll(key);
以上是 如何使用Dotnet Core获取Redis上密钥的到期时间? 的全部内容, 来源链接: utcz.com/qa/414899.html