redis过期时间的设置

设置过期时间

 expire <KEY> <TTL> : 将键的生存时间设为 ttl 秒
 pexpire <KEY> <TTL> :将键的生存时间设为 ttl 毫秒
 expireat <KEY> <timestamp> :将键的过期时间设为 timestamp 所指定的秒数时间戳
pexpireat <KEY> <timestamp>: 将键的过期时间设为 timestamp 所指定的毫秒数时间戳.

移除过期时间

persist可以移除一个键的过期时间
redis > set say "hello"
redis > exipre say 60
redis > ttl say //查看key为say的过期时间
redis > persist say //移除key为say的过期时间

查看过期时间

ttl say  // ttl以秒为单位返回过期时间
pttl say //pttl 以毫秒为单位返回过期时间 

是否设置过期时间

ttl say //  1:如果没有设置过期时间,则返回-1 
        //  2:如果没有改key值, 则返回 -2
       //  3:返回以秒为单位的过期时间

过期键的删除策略:

  • 立即删除:在创建键的操作时间时,创建一个回调事件,过期时间达到时,立即执行删除操作。
    优点:可以立即释放内存。
    缺点:立即删除对cpu是不友好的,删除操作会占用cpu的时间,如果在cpu很忙时,会给cpu造成额外的压力。
  • 惰性删除:某个键过期后不会立即删除,会在下次使用时判断键是否过期,此时才会被删除。
    缺点:浪费内存
  • 定时删除:每隔一段时间执行一次删除操作,并通过限制删除操作执行的时长和频率,来减少删除操作对cpu的影响。另一方面定时删除也有效的减少了因惰性删除带来的内存浪费。
    redis使用的过期键值删除策略是:惰性删除加上定期删除,两者配合使用。

//www.greatytc.com/p/9352d20fb2e0

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:设置过期时间 redis有四种命令可以用于设置键的生存时间和过期时间: 二:保存过期时间 那么redis里面对...
    舒小贱阅读 63,192评论 2 27
  • 9.1 服务器中的数据库 Redis服务器将所有的数据库都保存在服务器状态redis.h/redisServer结...
    猪大金阅读 2,860评论 0 0
  • 一、设置键的过期时间 Redis可以通过EXPIRE、PEXPIRE、EXPIREAT、PEXPIREAT对键设置...
    spiderM阅读 6,734评论 0 1
  • 主要内容 1.服务器保存数据库的方法 2.客户端切换数据库的方法 3.数据库保存键值对的方法 4.针对数据库保存增...
    Felicia1993阅读 2,600评论 0 0
  • 题目39:数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字 举例说明 如...
    stoneyang94阅读 2,720评论 0 0