nosql数据库之Redis持久化和备份

Redis提供了两种数据备份的方式,一种是RDB,另外一种是AOF。

  RDB AOF
开启/关闭 开启:默认开启;关闭:把配置文件中所有的save注释就是关闭了 开启:在配置文件中appendonly:yes即是开启了aof;no为关闭
同步机制 可以指定某个时间内发生多少个命令进行同步,比如1分钟内发生2次命令,就做一次同步 每秒同步或者每次发生命令后同步
存储内容 存储的是Redis里具体的值 存储的是执行的更新操作的命令
存储文件的路径 根据dir以及dbfilenname来指定路径和具体的文件名 根据dir以及appendfilename来指定具体的路径和文件名
优点

(1)存储数据文件时会进行压缩,文件体积比aof小;

(2)因为存储的是Redis具体的值,并且会经过压缩,因此在恢复的时候速度比aof快;

(3)非常适合用备份。

(1)aof策略的备份机制是每分钟或者每发生写操作的时候都会同步,因此即使服务器故障,最多只会丢失1秒的数据;

(2)aof存储的是Redis命令,并且是直接追加到aof文件后面,因此每次备份的时候只要添加新的数据进去就可以了;

(3)如果aof文件比较大了,那么Redis会进行重写,只保留最小的命令集合。

缺点

(1)rdb在多少时间内发生了多少写操作的时候就会触发同步机制,因为采用压缩机制,rdb在同步的时候都重新保存整个Redis中的数据,因此一般会设置5分钟才保存一次数据,在这种情况下,一般服务器故障,会造成至少5分钟的数据丢失;

(2)在数据保存进rdb的时候,Redis会fork出一个子进程用来同步,在数据量比较大的时候,可能非常耗时。

(1)aof文件因为没有压缩,因此比rdb体积大;

(2)aof是在每秒或者每次写操作都进行备份,因此如果并发量比较大,效率可能会有点慢;

扫描二维码关注公众号,回复: 7324264 查看本文章

(3)aof文件因为存储的是命令,因此在灾难恢复的时候Redis会重新运行aof中的命令,因此恢复速度比不上rdb。

猜你喜欢

转载自www.cnblogs.com/renyz/p/11563104.html