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)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题