• TTL 生存时间


    简介:
    这篇笔记主要记录一下redis中key自动过期的设置。
     
    命令介绍:
    1.expire
    可用版本: >=1.0.0
    时间复杂度: O(1)
    命令格式: expire key seconds
    作用:
    为给定的key设置生存时间,当key过期时,它会被自动删除。
    返回值:
    设置成功返回1,失败返回0。
    注意:
    设置了生存时间的key,依然可以使用del直接删除。
    使用其他命令修改带生存时间key的值的时候,这个key的生存时间不会改变(包括重命名)。
    expire命令会覆盖key原有的生存时间。
    过期时间的精确度,2.6之前在一秒钟,2.6之后降低到了1毫秒以内。
    在2.1.3版本之前,修改一个有生存时间的key时,会删除key。
     
    2.expireat
    可用版本: >=1.2.0
    时间复杂度: O(1)
    命令格式: expireat key timestamp
    作用:
    为给定的key设置生成时间,与上面不同之处在于,expireat设置的时间为时间戳,到了设置时间戳就过期。
    返回值:
    设置成功返回1,失败返回0.
     
    3.ttl
    可用版本: >=1.0.0
    时间复杂度: O(1)
    命令格式: ttl key
    作用:
    以秒为单位,获取指定key的剩余生存时间。
    返回值:
    key的剩余生存时间。
    注意:
    key不存在返回-2。
    key存在但是没有生存时间设置的话,返回-1。
     
    4.persist
    可用版本: >=2.2.0
    时间复杂度: O(1)
    命令格式: persist key
    作用:
    移除key的生存时间,key由“易失的”变成一个“持久的”。
    返回值:
    移除成功返回1,失败返回0。
     
    5.pexpire
    可用版本: >=2.6.0
    时间复杂度: O(1)
    命令格式: pexpire key millliseconds
    作用:
    以毫秒为单位设置key的生存时间。
    返回值:
    设置成功返回1,失败返回0。
     
    6.pexpireat
    可用版本: >=2.6.0
    时间复杂度: O(1)
    命令格式: pexpireat key milliseconds-timestamp
    作用:
    以毫秒为单位的时间戳设置key的过期时间。
    返回值:
    设置成功返回1,失败返回0。
     
    7.pttl
    可用版本: >=2.6.0
    时间复杂度: O(1)
    命令格式: pttl key
    作用:
    以毫秒为单位回去key的剩余生存时间。
    返回值:
    key不存在时,返回-2。
    key存在但是没有剩余生存时间,返回-1。
    其余,返回正常的剩余生存时间。
    注意:
    2.8版本之前,key不存在和没有剩余生存时间,都返回-1。
     
    作者:红雨
    出处:https://www.cnblogs.com/52why
    微信公众号: 红雨python
  • 相关阅读:
    log4net 配置 一站式解决
    设计模式-职责链模式(ChainOfResponsibility)
    springboot+Kafka(生产者和消费者)
    springboot启动过程分析
    Eureka注册中心原理
    JDK8常量池整理
    第2章 Java内存区域与内存溢出异常
    第5章 数据库分库分表实例
    物理分页和内存分页-引用
    spring4体系架构
  • 原文地址:https://www.cnblogs.com/52why/p/14331773.html
Copyright © 2020-2023  润新知