当前位置: 代码迷 >> 综合 >> 12-Redis6-持久操作
  详细解决方案

12-Redis6-持久操作

热度:71   发布时间:2023-10-24 06:58:24.0

参考来源:https://www.bilibili.com/video/BV1Rv41177Af?p=28&spm_id_from=pageDriver

参考来源:https://www.bilibili.com/video/BV1Rv41177Af?p=28&spm_id_from=pageDriver

参考来源:https://www.bilibili.com/video/BV1Rv41177Af?p=28&spm_id_from=pageDriver

=====================================================================

1、RDB

2、AOF

3、

 

 

=====================================================================

1、RDB

12-Redis6-持久操作

12-Redis6-持久操作

12-Redis6-持久操作

#可以修改备份文件名

# The filename where to dump the DB

dbfilename dump.rdb

#指定redis的dump的存放位置

# Note that you must specify a directory here, not a file name.

dir ./

#保存策略

# after 900 sec (15 min) if at least 1 key changed 900秒之内有1个key被改变则持久化一次

save 900 1

save 300 10 

save 60 10000

#保存情况

1、如果触发了保存策略则进行RDB的持久化

2、如果正常关闭redis则进行RDB的持久化

3、如果采用非正常的方式关闭则不进行RDB的持久化

#手动保存快照

命令 save vs bgsave 只管保存,其他不管,全部阻塞

#当redis无法写入磁盘的话,直接关掉redis的写操作

stop-writes-on-bgsave-erros   yes

#进行RDB保存,将文件压缩

rdbcompression yes

#在存储快照后,让redis使用crc64算法进行数据校验,但是会增加大约10%的性能消耗。希望性能提升,可以关闭此功能

rdbchecksum yes

#rdb的备份,会丢失最后的一次操作

  1. 先 config get dir  查询rdb的目录
  2. 将  *.rdb的文件拷贝到别的地方

#rdb的恢复

  1. 关闭redis
  2. 把备份的文件拷贝到工作目录下
  3. 启动redis,备份数据会直接加载

stop-writes-on-bgsave-error yes  #磁盘满了就不写数据了

rdbcompression yes   #是否进行文件压缩

bgsave  #  save 是手动保存  save 900 1    bgsave是异步保存

rdbchecksum yes   #检查数据的完整性

2、AOF

12-Redis6-持久操作

#AOF默认是不开启的

12-Redis6-持久操作

#aof不开启

appendonly no   

#aof的文件位置
appendfilename "appendonly.aof"   

#AOP和RDB同时开启

redis会取aof中的数据

#AOF的同步频率

# appendfsync always 每一次操作都进行持久化

# appendfsync everysec 每隔一秒进行一次持久化

# appendfsync no 不进行持久化

#AOF文件故障备份

        AOF的备份机制和性能和RDB不同,但是备份和恢复的操作通RDB一样,都是拷贝备份文件,需要恢复时再拷贝到Redis的工作目录下,启动系统即加载

#异常恢复

12-Redis6-持久操作

 

Rewrite压缩

12-Redis6-持久操作

12-Redis6-持久操作