redis - 4 持久化

1. 概念:快照

快照,存储当前数据状态,关注点在数据

2. RDB启动方式bgsave -- (bgsave, save),存储快照

1. save 手动(不推荐)
2. bgsave 手动
3. 自动保存 配置文件中添加 save seconds changes # 在seconds中发生changes次数据修改就会触发一次bgsave保存。可以同时设置多个

会生成一个.rdb的文件,启动时自动加载。不同redis版本之间的.rdb文件不能混用,需要读到内存中保存为其他文件,再改变redis版本加载
需要进行相关配置
注意:因为redis是单进程的,save指令执行时会使后续任务等待,造成阻塞,所以线上环境不推荐使用。bgsave是后台启动,调用fork函数,生成子进程

 

 

 3. AOF方式(目前主流)

1. 以独立日志的方式记录每次的修改命令,从而达到数据不会丢失的目的
2, AOF保存的三种策略
  a. always,每次有修改都保存,数据完整,性能较差
  b. everysec,每秒保存一次,丢失数据的话,每次只会丢失一秒的数据
  c. no ,由系统自己操控,不可控
3. 配置
  a. appendonly yes # 开启AOF功能
  b. appendfsync everysec # 设置保存日志的策略
4. AOF重写:优化后保存日志
  a. 已经超时的数据不再记录
  b. 忽略无效命令
  c. 将多条命令优化为一条命令
5. 如何执行AOF重写
  a. 手动执行:bgrewriteaof
  b. 自动:auto-aof-rewrite-min-size,文件达到一定大小就重写,需要做配置
  c. 自动:auto-aof-rewrite-percentage,达到一定比例就重写,需要做配置

 

posted @ 2021-11-20 20:53  10132714  阅读(41)  评论(0编辑  收藏  举报