【问题标题】:is there a way to expire only the hash key(subkey) in redis through java in hashoperation有没有办法通过哈希操作中的java仅使redis中的哈希键(子键)过期
【发布时间】:2019-01-07 14:20:53
【问题描述】:

我有一种情况,它只需要使 redis 中数据集的哈希键过期。有没有办法通过带有哈希操作的java来做到这一点。 我知道redis只能支持密钥过期而不是hashkey(带有值的子键)。但是有没有办法做到这一点。

【问题讨论】:

    标签: java redis


    【解决方案1】:

    Redis 不支持这种操作

    您可以对值使用常规散列并使用排序集来处理过期,因此使用这样的散列变成这样:

    keys = ZRANGEBYSCORE(zkey, 0, now)
    if keys.size>0
    ZREMRANGEBYSCORE(zkey, 0, now)
    HDEL(hkey, *keys)
    end
    val = HGET(hkey, key)
    

    这样每次获取都会清除过期密钥中的哈希。或者,可以通过后台任务每隔几秒/分钟进行一次清理

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-19
      • 1970-01-01
      • 2010-09-10
      • 2016-02-06
      • 2011-07-01
      • 1970-01-01
      相关资源
      最近更新 更多