如何在 python 中测试空的 Redis 键

问题描述 投票:0回答:2

我正在使用 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'

在这种情况下,您将如何测试键的“未分配值”?

python redis
2个回答
38
投票

您应该使用方法

exists
,它返回一个布尔值 - 如果您的密钥已设置,则返回
True
,否则返回
False
。您应该避免使用
get
,因为如果您有该键的列表值,它可能会引发异常。

示例:

>>> redis.exists("av")
False

0
投票

请记住,EXISTS 的时间复杂度是 O(N),而 GET 的时间复杂度是 O(1)。 这对于大型数据集可能会产生一些影响。 因此,更好的方法可能是检查 None,如下所示:

existingEntry = redis.get('av')
if existingEntry:
    # entry exists
else:
    # entry does not exist
© www.soinside.com 2019 - 2024. All rights reserved.