python设置redis中某一key的过期时间为-1时,为什么这个键直接被销毁了?

key_name = 'test_h'
redis.expire(key_name, -1)
redis.execute()

redis中这个键直接被销毁了,为什么??

阅读 7.6k
3 个回答

python函数是对命令的包装,直接看文档示例

redis> SET mykey "Hello"
OK
redis> EXPIRE mykey 10
(integer) 1
redis> TTL mykey
(integer) 10
redis> SET mykey "Hello World"
OK
redis> TTL mykey
(integer) -1
redis> 

可以看到删除key时的过期时间就是-1

再看Normally Redis keys are created without an associated time to live. The key will simply live forever, unless it is removed by the user in an explicit way
意思就是不设置过期时间则永不过期

已经过期了呀,过期了就会被销毁

想让它永不过期,用redis.persist(key)

推荐问题