redis持久化方式有两种:RDB方式和AOF方式

  1、RDB方式:内存快照,在指定的时间间隔对数据进行快照存储,支持在客户端直接BGSAVE或者SAVE命令来创建一个内存快照,BGSAVE会fork一个子进程将快照写入磁盘,父进程仍可处理其它命令,SAVE则执行过程中不处理其它命令;在redis.conf可以调整save配置选项来设置持久化的触发策略,当在规定时间内Redis发生了写操作的个数满足设定的条件触发持久化。

  2、AOF方式:记录每次对服务器的写操作,当服务器重启时会重新执行这些命令来恢复数据,通过在redis.conf中配置appendonly yes开启AOF方式 ,通过调整appendsync参数来设置同步的策略

  RDB方式优点:对性能影响小、恢复数据快,缺点:会丢失数据、fork子进程会影响提供服务的能力。

  AOF方式优点:安全、可容灾、可读 缺点:文件体积大、性能损耗、数据恢复慢

  redis内存管理

  在redis.conf中通过maxmemory 来配置最大内存,通过maxmemory-policy来配置到达阈值的策略,可选策略如下

  其中LRU (最近最少使用) 根据数据的历史访问记录来淘汰数据,LFU(历史访问次数),历史访问频率来淘汰数据,具体可参考redis官网。

  reids还可以配置内存压缩 ,通过配置各个数据结构的最大值来对数据进行压缩,节省空间。

  redis数据过期策略

  1、主动处理,每秒执行10次,从设置有过期时间的key中随机找20个,删除已经过期的,如果有超过25%的过期,则重新再执行一次。

  2、被动处理 每次访问时检查是否过期,过期则删除,在数据恢复时候。

  数据恢复时过去数据的处理

  1、RDB 方式 过期的key不会持久化,载入期间,过期的key会通过主动或者被动被删除掉

  2、AOF方式每次遇到过期的key时会追加一条del命令,恢复时顺序执行命令时就会删除过期的key

  

最新文章

  1. AndroidStudio NDK配置使用以及错误集合
  2. ubuntu12.04 安装mac主题
  3. 1、基于MFC的OpenGL程序
  4. swiper 增加同页面增加2个滚动
  5. 关于scrollbar-face-color只支持ie的解决办法!
  6. javascript去掉字符串前后空格
  7. 有直接运行的runas命令,XP就有
  8. 使用C++读取UTF8及GBK系列的文本方法及原理
  9. IDataParameter[]
  10. JS中内嵌函数中this关键字的使用
  11. 一致性hash
  12. Oracle安装及使用入门
  13. Mysql彻底卸载
  14. selenium 对https网站(加密证书)进行自动化测试
  15. Eclipse 版本选择
  16. python中sqlite问题和坑
  17. linear-gradient常用实现效果
  18. MQTT协议-MQTT协议解析(MQTT数据包结构)
  19. [模板][P3377]左偏树
  20. Android资源收集

热门文章

  1. 梯度裁剪(Clipping Gradient):torch.nn.utils.clip_grad_norm
  2. nginx 平滑重启的实现方法
  3. 辨析Java方法参数中的值传递和引用传递
  4. semantic ui要装什么才能使用
  5. 2019_软工实践_Beta收官
  6. 【转】使用fastboot命令刷机流程详解
  7. Authenticator App 两步验证会不会造成亚马逊账号关联?
  8. 【深入学习linux】系统分区与格式化
  9. libusb: android上集成libusb库
  10. gmake: Nothing to be done for `all'.