我正在尝试使用管道来处理不断添加到 redis 数据库的数十万个键。
如果键上不存在 ttl,Redis 中是否有设置 ttl 的幂等方法?
Lua 脚本将是最有效的方法 -有关如何编写此类脚本的更多详细信息,请参阅EVAL
的文档SCRIPT LOAD
,并参考和EVALSHA
运行它们。
类似以下示例的内容应该可以解决您的问题:
if tonumber(redis.call('TTL', KEYS[1])) < 1 then
redis.call('EXPIRE', KEYS[1], ARGV[1])
end