Redis在键上有意识地设置了ttl

时间:2018-05-24 14:29:47

标签: python redis redis-py

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

如果密钥上不存在ttl,Redis中是否存在幂等方法设置ttl?

1 个答案:

答案 0 :(得分:2)

Lua脚本是最有效的方法 - 有关如何撰写此类脚本的详细信息,请参阅EVAL's documentation,并参阅SCRIPT LOADEVALSHA来运行它们。

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

if tonumber(redis.call('TTL', KEYS[1])) < 1 then
  redis.call('EXPIRE', KEYS[1], ARGV[1])
end