【发布时间】:2020-06-21 01:18:47
【问题描述】:
假设我有 TTL = 1 小时的 redis 记录。
然后发生了一些事件,我想将此项目的 TTL 重置为 min(current-TTL, 5min)。所以它会将TTL减少到5分钟。如果它还没有降低。
基本用例是,缓存可能过于频繁地失效,并且“旧”缓存几乎与新缓存一样好,如果它不旧则 5 分钟。从第一次更改开始。
我知道我可以在一个命令中获取 TTL 并用第二个命令对其进行更新,但出于各种原因,我更愿意通过单个命令来设置它。有什么办法吗?
编辑:我需要通过单个命令减少许多键。所以我想避免每条记录的redis和客户端库之间的数据往返。
【问题讨论】: