在 redis-py 中执行 zadd 时使用 nx 选项(redis ver 2.8.4)

Using nx option when doing zadd in redis-py (redis ver 2.8.4)

我在我的 python 项目中使用 redis 2.8.4。在特定的排序集中,我想 zaddnx 选项。 nx 选项未在 redis-py docs, and according to the docs 中记录,它仅适用于 redis 3.0.2 或更高版本。

那么在执行 zadd 时我可以遵循什么替代模式来模拟 nx 选项?

我想到的最有效的模式是使用 zscore(或 zrank)来测试是否存在。如果值存在,什么也不做,否则,zadd 相关值。

我在 github issue 中找到了解决方案:

redis.execute_command('ZADD', set_name, 'NX', score, key)