redis持久化

redis的持久化

redis的持久化方式

  1. RDB - 默认

快照 - 将redis当前瞬间的内存结构记录并且保存到硬盘上

  1. aof - 默认关闭

(append only file) - 记录所有redis执行的写命令, 当需要回复数据时, 重放这些写命令

相关配置

快照的相关的命令

save - 手动执行一个前台快照, 由当前主线程执行快照, 在快照的过程当中, 不能执行任何命令
bgsave - 手动执行一个后台快照, 会开启一个新的线程进行快照操作, 但是开发者没办法获得快照的结果

配置

快照的执行频率, 相当于没多少秒执行一次
save 900 1
save 300 10
save 60 10000

当bgsave错误时, 前台是否需要停止写入操作
stop-writes-on-bgsave-errors yes

配置快照文件的名字
dbfilename dump.rdb

配置是否开启aof
appendonly no - 默认关闭

配置aof的文件名称
appendfsync always - 没执行一个写命令, 就记录一次
appendfsync everysec - 默认行为, 每秒记录当前这一秒所有的写命令
appendfsync no - 根据操作系统的配置决定什么时候执行

配置aof文件的重写的策略
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

AOF文件的优化策略:

aof文件实际上会有很多无意义的写操作, 比如添加一个数据后又删除该数据, 因此需要对aof文件进行优化, 这个可以用重写命令.

Bgrewriteaof命令 - 手动触发后台对aof文件的重写, 重写后会得到一个体积优化版, reids会自动的触发aof文件重写.

快照和aof的选择策略

1、开发工程中, aof往往比快照更安全, AOF最多会丢失1s以内的数据
2、redis服务开启后, 先根据AOF文件恢复数据,再恢复快照的数据
3、当数据量很大时, 快照恢复的速度要快与AOF
4、如果希望数据相对更安全, 官方推荐同时开启快照和AOF, 但是仍然不能保证数据的绝对安全
5、如果redis仅仅只是作为分布式缓存服务器使用, 快照和AOF都可以关闭

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容