我正在使用 redis-py (https://redis-py.readthedocs.org/en/latest/)。
假设我保存了一些 Redis 密钥和 av。 'av' 没有指定值,因此使用命令行,我可以这样做:
>>> redis.get('saved')
Out[4]: 'None'
>>> redis.get('av')
>>> redis.get('saved')
Out[6]: 'None'
在这种情况下,您将如何测试键的“未分配值”?
exists
,它返回一个布尔值 - 如果您的密钥已设置,则返回 True
,否则返回 False
。您应该避免使用 get
,因为如果您有该键的列表值,它可能会引发异常。
示例:
>>> redis.exists("av")
False
请记住,EXISTS 的时间复杂度是 O(N),而 GET 的时间复杂度是 O(1)。 这对于大型数据集可能会产生一些影响。 因此,更好的方法可能是检查 None,如下所示:
existingEntry = redis.get('av')
if existingEntry:
# entry exists
else:
# entry does not exist