您的位置:首页 > 数据库 > Redis

redis 过期处理

2018-02-09 12:00 120 查看
常见过期策略:
1.定时删除(不建议使用)
   在一个键设置过期时间的同时为该键创建一个定时器,时间到来的时刻删除该键
  优点:内存释放快 ;缺点:大量键的定时器影响性能
2.惰性删除
    在对键进程获取或者处理的时候验证是否过期,过期则删除返回null
    优点:cpu占用少;缺点:大量未过期未删除的键未删除释放内存可能发生内存溢出
3.定期删除
    设定定时器,到时间执行一次删除过期键操作
   优点:定期删除cpu占用相对定时删除少很多;缺点,内存方面不如定期删除,cpu占用方面不如惰性删除
   难点:设置定期时间,参考逻辑和服务器资源设定
redis 采用的方式是 惰性删除和定期删除的联合方案
  惰性删除流程:get或setnx操作时先检查是否过期删除

  定期删除流程:获取每个库中的设定过期时间的键 判断是否过期(默认是获取20键验证)
AOF持久化过期键处理
  内存持久化到AOF文件时验证键是否过期
  AOF文件重写时验证是否过期,过期则删除同时删除文件中的信息
  RDB文件恢复到内存中时验证是否过期,过期则删除同时删除文件中的信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis 过期 expire