1

我正在尝试使用管道来处理不断添加到 redis 数据库的数十万个键。

如果键上不存在 ttl,Redis 中是否有设置 ttl 的幂等方法?

4

1 回答 1

2

Lua 脚本将是最有效的方法 -有关如何编写此类脚本的更多详细信息,请参阅EVAL的文档SCRIPT LOAD,并参考和EVALSHA运行它们。

类似以下示例的内容应该可以解决您的问题:

if tonumber(redis.call('TTL', KEYS[1])) < 1 then
  redis.call('EXPIRE', KEYS[1], ARGV[1])
end
于 2018-05-24T15:16:56.500 回答