有没有办法在哈希操作中通过 Java 仅使 Redis 中的哈希键(子密钥)过期



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

Redis 不支持此类操作

你可以对值使用常规哈希和排序集来处理过期,所以使用这样的哈希变成这样的东西:

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

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

最新更新