如有错误以及意见,欢迎交流。
冷备
冷备–》RDB:支持持久化机制,对redis的数据进行周期性的持久化。
- 优: 在进行持久化的时候对redis的性能影响非常小,因为在同步数据的时候只是fork一个子进程去做持久化,在恢复数据时RDB比AOF快
- 缺: RDB是快照文件,默认5分钟或更久才会生成一次,数据丢失会丢失5分钟或更久,RDB在生成数据快照时,如果文件很大,客户端可能会暂停几毫秒甚至几秒。数据安全性不高。
- 开启: RDB默认开启,可以通过配置文件修改持久化快照的频率,打开redis.conf文件,搜索save
热备
热备–》AOF:AOF机制对每条写入命令作为日志,以append-only的模式写入一个日志文件中
- . 优: AOF一秒一次通过一个后台的线程fsync操作,最多就丢失这1秒的数据,在对日志文件进行操作的时候是以append-only的方式,只是追加数据,少了很多磁盘寻址的操作。根据AOF同步策略,数据有更高安全性。
- . 缺: 同样的数据,AOF文件比RDB文件大。性能比RDB低
- . 开启: 设置配置
appendonly no改为appendonly yes,开启AOF;
appendfilename设置文件名;
三种AOF的策略:
- always: 每次写入一条数据,立即将这个数据对应的写日志fsync到磁盘上去,性能非常非常差,速度最慢。
- everysec: 每秒将os cache中的数据fsync到磁盘,这个最常用的,生产环境一般都这么配置,性能很高,QPS还是可以上万的,每秒钟强制写入磁盘一次。
- no: 仅仅redis负责将数据写入os cache就撒手不管了,然后后面os自己会时不时有自己的策略将数据刷入磁盘,不可控了,30秒一次,性能最好但是持久化没有保证。