假设我有redis记录,ttl=1小时。然后发生了一些事件,我想把这个项目的ttl重置为min(当前ttl,5min)。所以它会把ttl减少到5分钟。如果它还没有降低。基本的用例是,缓存的失效可能过于频繁,“旧”缓存几乎和新缓存一样好,如果它不早于5分钟。从第一次改变开始。我知道我可以在一个命令中获取ttl并用第二个命令更新它,但是出于各种原因,我更喜欢用单个命令来设置它。有办法吗?编辑:将有许多关键点,我需要减少一个命令。所以我想避免redis和客户机库之间的数据往返。
h5qlskok1#
没有单个命令可以做到这一点,但是您可以将逻辑封装在服务器端lua脚本中,并用单个命令调用它。参考 EVAL 命令获取更多信息。
EVAL
1条答案
按热度按时间h5qlskok1#
没有单个命令可以做到这一点,但是您可以将逻辑封装在服务器端lua脚本中,并用单个命令调用它。参考
EVAL
命令获取更多信息。