python - Redis 幂等地在键上设置 ttl

标签 python redis redis-py

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

Redis 中是否有幂等方法设置 ttl 是否存在于键上?

最佳答案

Lua 脚本将是最有效的方法 - 参见 EVAL's documentation有关如何编写此类脚本的更多详细信息,请参阅 SCRIPT LOADEVALSHA用于运行它们。

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

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

关于python - Redis 幂等地在键上设置 ttl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50511910/

相关文章:

python - 恰好接受 1 个参数(给定 2 个)错误?

python - 查找数组是否包含 2 旁边的 2

java - 无法使用 Jedis Lib 在本地连接到 aws 上的 Elasticache 集群

javascript - Express + Passport + Redis session ?

python - 您可以使用 ctypes 通过内存 id 将对象传递给 celery 任务吗?

python - 如何将 torch.tensor 或 np.array 保存到 redis 并搜索向量相似度?

python - 使用 SQLAlchemy 预加载一组对象时出现问题

python - 用不同的替换值替换相同的模式

python - Redis-Py属性错误: 'int' object has no attribute 'items'

python - 使用 redis.StrictRedis() 在 redis 中插入一个新数据库