【发布时间】:2019-01-07 14:20:53
【问题描述】:
我有一种情况,它只需要使 redis 中数据集的哈希键过期。有没有办法通过带有哈希操作的java来做到这一点。 我知道redis只能支持密钥过期而不是hashkey(带有值的子键)。但是有没有办法做到这一点。
【问题讨论】:
我有一种情况,它只需要使 redis 中数据集的哈希键过期。有没有办法通过带有哈希操作的java来做到这一点。 我知道redis只能支持密钥过期而不是hashkey(带有值的子键)。但是有没有办法做到这一点。
【问题讨论】:
Redis 不支持这种操作
您可以对值使用常规散列并使用排序集来处理过期,因此使用这样的散列变成这样:
keys = ZRANGEBYSCORE(zkey, 0, now)
if keys.size>0
ZREMRANGEBYSCORE(zkey, 0, now)
HDEL(hkey, *keys)
end
val = HGET(hkey, key)
这样每次获取都会清除过期密钥中的哈希。或者,可以通过后台任务每隔几秒/分钟进行一次清理
【讨论】: