redis持久化的方法及对比

1、持久化的作用

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

两种方式:

2、RDB

 2.1、概念

2.2、触发机制

 2.2.1、save 同步

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

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

2.2.2、bgsave 异步

 

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

文件策略同上

2.2.3、自动

 

推荐配置:

//满足任一条件就执行
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次就自动保存

  

 查看日志,自动保存

2.4、问题

耗时耗性能

容易丢数据,不可控

3、AOF

 3.1、三种策略

always    每次改变数据都存

everysec  每秒存一次

no 操作系统决定

对比

一般使用第二种

 AOF重写

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

 AOF重写流程

 AOF重写作用

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

实现

bgrewriteaof  异步执行

AOF重写配置

 

 

4、选择

原文地址:https://www.cnblogs.com/lamp01/p/8451840.html