前言
这就是我用来自己看的,没啥有用的内容,大佬们看见这可以推出避免浪费自己的学习时间
RDB
- 以快照形式存入磁盘
- 文件后缀为dump.rdb
产生快照方式
- save
- 主进程执行,会阻塞redis服务,知道RDB过程完毕才能执行其他操作
- bgsave
- fork创建一个子进程来进行RDB,不影响redis的其他服务
- 自动化
- 配置文件配置触发Redis的持久化条件
- save m n:m秒内修改了n次数据触发bgsave
- 配置文件配置触发Redis的持久化条件
- 主从架构
- 从机同步数据时,发送sync给主机执行同步操作,master主服务器执行bgsave
优缺点
- 优点:
- 生成二进制文件,占用内存小
- 使用灾难恢复,恢复大数据的效率比AOF高
- 缺点:
- fork子进程在执行RDB过程中修改的数据不会被保存,会丢失数据
AOF
- 以追加文件的方式存储,文件名:append only file
- 每一次修改都会记录,等重启时重新执行记录的操作命令
同步方式
- appendfsync always
- 每次有数据修改都会写入AOF
- appendfsync everysec
- 每秒钟同步一次
- appendfsync no
- 不同步,由操作系统调度
rewrite重写
- rewrite可以将AOF文件进行重写,省略无效命令,合并多条重复命令
- 触发设置
- 手动触发
- 直接调用bgrewriteaof命令
- 自动重复啊
- auto-aof-rewrite-min-size:运行AOF重写时文件最小体积,默认为64MB,当达到64MB时自动触发rewrite重写
- auto-aof-rewrite-percentage:当前AOF文件和上次重写AOF文件时的大小比值,当达到比值时触发重写
- 手动触发
- Redis4.0之后的rewrite
- 支持混合模式,将写入AOF的操作命令用RDB持久化方式转为二进制压缩空间,当AOF文件达到了重写触发条件时再进行重写
优缺点
- 优点:
- 数据更安全
- 缺点:
-
AOF文件通常比RDB文件大
-
恢复时间比RDB慢
-