gpt4 book ai didi

asp.net - 如何使用Dotnet Core获取Redis上的 key 的到期时间?

转载 作者:行者123 更新时间:2023-12-03 06:41:25 25 4
gpt4 key购买 nike

我遵循this example在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。

无法通过查看the docs和源来获得此信息。

您将必须直接使用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);

关于asp.net - 如何使用Dotnet Core获取Redis上的 key 的到期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59871919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com