进入配置文件:sudo redis-server /配置文件的路径/redis.conf
1 rbd快照
优点:rdb是数据的内存映射,直接载入到内存,所以速度比较快
缺点:如果出现异常宕机,数据丢失率高
配置如下:
save 900 1 // 900内,有1条写入,则产生快照
save 300 1000 // 如果300秒内有1000次写入,则产生快照
save 60 10000 // 如果60秒内有10000次写入,则产生快照
(这3个选项都屏蔽,则rdb禁用)
stop-writes-on-bgsave-error yes // 后台备份进程出错时,主进程是否停止写入
rdbcompression yes // 导出的rdb文件是否压缩
rdbchecksum yes // 导入rbd恢复时数据时,要不要检验rdb的完整性
dbfilename dump.rdb //导出来的rdb文件名
dir ./ //rdb的放置路径
# dir设置的目录 对应的目录下的dump.rdb文件 会影响客户端看到的内容(数据恢复 恢复哪个文件的数据)
2 aof日志
优点:可以解决rbd的不足,但可能导致redis写入速度过慢,折中方案是一秒写一次aof日志
缺点:aof是通过逐条执行命令进行恢复,所以数据还原速度比rdb慢
配置如下:
appendonly no # 是否打开 aof日志功能
appendfsync always # 每1个命令,都立即同步到aof. 安全,速度慢
appendfsync everysec # 折中方案,每秒写1次
appendfsync no # 写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到aof. 同步频率低,速度快,
no-appendfsync-on-rewrite yes: # 正在导出rdb快照的过程中,要不要停止同步aof
auto-aof-rewrite-percentage 100 #aof文件大小比起上次重写时的大小,增长率100%时,重写
auto-aof-rewrite-min-size 64mb #aof文件,至少超过64M时,重写
aof重写:把内存中的数据,逆化成命令,写入到.aof日志里.以解决 aof日志过大的问题
如何通过配置aof挽救flaskdb:
1 查看配置文件制定的.aof文件所在路径
2 马上执行 shutdown nosave (redis的命令行下执行)
3 将.aof文件最后的flushdb命令删掉