redis-py ttl返回无,但redis doc引用-1

时间:2015-11-17 08:30:55

标签: python redis

为什么python在应该为-1时返回None

py code

redis-cli

1 个答案:

答案 0 :(得分:1)

如果密钥不存在,redis-cli indicates this by returning -1。对于Python使用,更明显的是用None来表示。

你可以看到这是故意这样做的,下面的代码来自redis-py中的Redis类。调用response_callback将TTL响应从-1更改为None。

RESPONSE_CALLBACKS = dict_merge(
    StrictRedis.RESPONSE_CALLBACKS,
    {
        'TTL': lambda r: r != -1 and r or None,
    }
)