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、选择



浙公网安备 33010602011771号