1、持久化的作用

redis所有的数据保持在内存中,对数据的更新将异步的保存到磁盘上。

两种方式:

redis持久化的方法及对比

 

2、RDB

 2.1、概念

redis持久化的方法及对比

 

2.2、触发机制

 2.2.1、save 同步

redis持久化的方法及对比

 

因为是同步命令,数据量大的话可能会造成阻塞

文件策略:如果存在老的RDB文件,会用新的替换老的

 

2.2.2、bgsave 异步

 redis持久化的方法及对比

需要linux的fork,很快,不过也有可能会阻塞掉主进程

文件策略同上

2.2.3、自动

 redis持久化的方法及对比

 

推荐配置:

//满足任一条件就执行
save 900 1 save 300 10 save 60 10000 //文件名加入端口号,以防多redis时覆盖 dbfilename dump-${port}.rdb //写入目录另外分盘或者是大一点的目录,而不是当前目录 dir /bigdispath //写入错误时是否停止写入 stop-writes-on-bgsave-error yes //是否压缩 rdbcompression yes //是否采用校验模式 rdbchecksum yes

 

2.3、演示

设置60秒钟改变5次就自动保存

  redis持久化的方法及对比

 查看日志,自动保存

redis持久化的方法及对比

 

2.4、问题

耗时耗性能

redis持久化的方法及对比

 

容易丢数据,不可控

 

3、AOF

 3.1、三种策略

always    每次改变数据都存

everysec  每秒存一次

redis持久化的方法及对比

no 操作系统决定

对比

redis持久化的方法及对比

一般使用第二种

 AOF重写

自动优化命令、过滤过期数据

 AOF重写流程

redis持久化的方法及对比

 

 AOF重写作用

减少硬盘占有量,加快恢复速度

实现

bgrewriteaof  异步执行

redis持久化的方法及对比

 

AOF重写配置

 redis持久化的方法及对比

redis持久化的方法及对比

 redis持久化的方法及对比

 

4、选择

redis持久化的方法及对比

redis持久化的方法及对比

 

相关文章: