如何在python中测试一个空的Redis键

use*_*629 4 python redis

我正在使用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'
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如何测试密钥的“无分配值”?

Jun*_*ius 9

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

例:

>>> redis.exists("av")
False
Run Code Online (Sandbox Code Playgroud)

  • 在redis v3.0中,它不再返回布尔值。现在,它可以返回在数据库中找到的键的数量,因为您现在可以将多个键传递给“ exists”。由于python中的'0'是错误的,因此大多数代码仍应正常工作,但是很高兴知道这一更改。 (6认同)