redis是否支持在散列中的字段(hashkey)级别设置过期时间?

qvtsj1bj  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(613)

这个问题在这里已经有答案了

redis在hset键上设置ttl(2个答案)
10个月前关门了。

实现上下文

我有一个基于令牌的api实现。高级逻辑是由api发出的令牌,在随后调用其他api时必须使用此令牌。一个api从db获取大量数据并将其存储在缓存中(我在这里使用redis)。缓存的密钥为session:functionality,字段(hashkey)作为令牌,json格式的值作为从db获取的数据。在对api的后续调用中,令牌在网关级别进行验证,api检查数据是否已经存在于redis中。
在这里,它查询redis中的hash,其键为session:functionality & 哈希键作为令牌。如果数据在redis中,api将发送一个快速响应,否则它将从下游系统获取数据。
所以在redis的hash中,

问题

现在我的问题是,是否可以在haskkey级别为每个令牌设置一个唯一的超时,因为基础数据可能会更改,我希望在这个级别保持5分钟的超时。
我使用的是spring-boot-jedis,所以如果你能用这个框架发布设置超时的具体方法,那就太好了。

wooyq4lh

wooyq4lh1#

不。
嗨,这是不可能的,要么为该特定字段使用不同的顶级键,要么与该字段一起存储另一个具有过期时间的字段,获取这两个字段,然后让应用程序根据当前时间了解它是否仍然有效。
来自安提雷斯-redis的作者https://github.com/antirez/redis/issues/167#issuecomment-2559040

相关问题