有没有办法让Redis的空闲时间成为关键

时间:2016-07-13 11:50:36

标签: c# redis stackexchange.redis

到目前为止,我们已使用StackExchage.Redis Link完成了所有基本的crud操作。我们还使用StackExchange.Redis.Extention链接的包装器来存储Redis中的复杂对象。

我们通过Redis管理用户会话令牌。我们需要给会话令牌一个滑动到期时间。为此,我们计划使用会话密钥空闲时间。

通过StackExchange API 1或StackExchange.Redis.Extensions API获取密钥空闲时间的最佳方法是什么? 2

一种方法可能是从C#客户端执行Redis的命令DEBUG OBJECT,以使用DebugObject的方法获取特定键的空闲时间。 2

还有其他更好的方法来处理这种情况或执行Object命令的方法吗? 3

2 个答案:

答案 0 :(得分:0)

这更多的是评论而不是答案,但我没有足够的代表:

IIRC,可以使用到期时间写入Redis密钥。为什么不定期写入令牌以更新到期时间?或者,如果您在令牌过期后仍然需要令牌,为什么不只使用时间戳?

答案 1 :(得分:0)

As of StackExchange.Redis 2.0,现在通过命令KeyIdleTime和KeyIdleTimeAsync支持。

示例用法可以是:

RedisKey myKey = "my-key";
TimeSpan? idleTime = database.KeyIdleTime(myKey);