【问题标题】:Is there any way to get Idle time of Redis key有没有办法获得 Redis 密钥的空闲时间
【发布时间】:2016-07-13 11:50:36
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: c# redis stackexchange.redis


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      示例用法可以是:

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

      【讨论】:

        猜你喜欢
        • 2019-06-10
        • 2021-10-20
        • 1970-01-01
        • 2017-08-23
        • 1970-01-01
        • 2011-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多