我有一种情况,它只需要使redis中的数据集的哈希键过期即可。有没有一种方法可以通过Java使用hashoperation来实现。 我知道Redis只能支持密钥过期,而不支持hashkey(带有值的子密钥)。但是有什么方法可以做到这一点。
答案 0 :(得分:0)
Redis不支持这种操作
您可以使用常规哈希值和排序集来处理到期时间,因此使用此类哈希会变成这样:
keys = ZRANGEBYSCORE(zkey, 0, now)
if keys.size>0
ZREMRANGEBYSCORE(zkey, 0, now)
HDEL(hkey, *keys)
end
val = HGET(hkey, key)
这样,每次获取都会清除过期密钥中的哈希值。另外,清理也可以每隔几秒/分钟执行一次后台任务