zoukankan      html  css  js  c++  java
  • redis key的过期时间

    设置redis key的生存过期时间

    Redis 有四个不同的命令可以用于设置键的生存时间(键可以存在多久)或过期时间(键什么时候会被删除) :

    • EXPlRE 命令用于将键key 的生存时间设置为ttl 秒。
    • PEXPIRE 命令用于将键key 的生存时间设置为ttl 毫秒。
    • EXPIREAT < timestamp> 命令用于将键key 的过期时间设置为timestamp所指定的秒数时间戳。
      PEXPIREAT < timestamp > 命令用于将键key 的过期时间设置为timestamp所指定的毫秒数时间戳。

    redis通过exipre或则pexpire命令,可以以秒或则毫秒为精度为某个key设置过期时间,在经过指定的时间之后,redis服务器就会删除生存时间为0的key

    下面的例子中把key1的过期时间设置为20秒,过20秒后redis就会吧key1删除

    127.0.0.1:6379> set key1 'value1'
    OK
    127.0.0.1:6379> exipre key1 20
    (error) ERR unknown command 'exipre'
    127.0.0.1:6379> expire key1 20
    (integer) 1
    127.0.0.1:6379> get key1
    "value1"
    127.0.0.1:6379> get key1
    "value1"
    127.0.0.1:6379> get key1
    (nil)
    127.0.0.1:6379>
    

    setex命令可以在设置一个字符串key的时候,同时设置该key的过期时间,因为这个命令是一个类型限定的命令(只能用于字符串键),但SETEX 命令设置过期时间的原理和EXPIRE命令设置过期时间的原理是完全一样的。

    与EXPlRE 命令和PEXPIRE 命令类似,客户端可以通过EXPlREAT 命令或PEXPlREAT命令,以秒或者毫秒精度给数据库中的某个键设置过期时间(expire time)。过期时间是一个UNIX时间戳,当键的过期时间来临时,服务器就会自动从数据库中删除这个键:

    使用方式如下

    127.0.0.1:6379> set key1 'value1'
    OK
    127.0.0.1:6379> expireat key1 1545470885
    (integer) 1
    127.0.0.1:6379> time
    1) "1545470897"
    2) "996846"
    127.0.0.1:6379> get key1
    (nil)
    127.0.0.1:6379> 
    

    TTL 命令和PTTL 命令接受一个带有生存时间或者过期时间的键,返回这个键的剩余生存时间,也就是,返回距离这个键被服务器自动删除还有多长时间:

    127.0.0.1:6379> time
    1) "1545470973"
    2) "878082"
    127.0.0.1:6379> set key1 'value1'
    OK
    127.0.0.1:6379> expireat key1 1545471973
    (integer) 1
    127.0.0.1:6379> ttl key1
    (integer) 962
    127.0.0.1:6379> ttl key1
    (integer) 961
    

    移除过期时间

    PERSIST命令可以移除一个键的过期时间:使用方式如下:

    127.0.0.1:6379> set key1 'value1'
    OK
    127.0.0.1:6379> time
    1) "1545471314"
    2) "556941"
    127.0.0.1:6379> expireat key1 1545481314
    (integer) 1
    127.0.0.1:6379> ttl key1
    (integer) 9980
    127.0.0.1:6379> persits key1
    (error) ERR unknown command 'persits'
    127.0.0.1:6379> persist key1
    (integer) 1
    127.0.0.1:6379> ttl key1
    (integer) -1
    
  • 相关阅读:
    平方分割poj2104K-th Number
    平方分割poj2104K-th Number
    GIT学习之路第五天 分支管理
    GIT学习之路第五天 分支管理
    daily_journal_2 神奇的一天
    daily_journal_2 神奇的一天
    51nod1264 线段相交
    51nod1264 线段相交
    51nod1265判断四点共面
    51nod1265判断四点共面
  • 原文地址:https://www.cnblogs.com/senlinyang/p/10161836.html
Copyright © 2011-2022 走看看