Redis持久化策略
Redis能将数据保存在内存中,提高性能。但是redis同时支持数据的持久化:有俩种策略:RDB和AOF。这俩种方式都是通过redis.conf可以进行配置。持久化策略,能尽量的保证当掉电后或者服务故障的时候,保证数据的安全性,通过持久化策略进行数据持久化,再重启服务的时候,进行数据恢复。数据加载流程如下:会优先检查是否开启aof策略,有则加载aof文件恢复数据,否则载入rdb文件进行数据恢复。
1.RDB策略
RDB策略是通过redis.conf文件进行配置的,默认开启,该策略的优点:
(1)由于使用的是LZF的压缩方式,所以适合大规模的数据恢复,数据恢复快;
(2)如果业务对数据完整性和一致性要求不高,RDB是很好的选择。
缺点:
(1)数据的完整性和一致性不高,因为RDB可能在最后一次备份宕机了。
(2)备份是占用内存,因为Redis在备份时会独立创建一个子进程,将数据写入到一个连死文件(此时内存中的数据是原来的两份),最后再将临时文件替换之前的备份文件,当数据量比较大的时候,可能会 造成redis服务的短暂暂停、卡顿。
2.AOF策略
AOF策略是通过redis.conf文件进行配置的,默认关闭,它的出现是为了弥补RDB的不足(数据不一致性),所以它采用日志的形势来记录每个写操作,并追加到文件中,Redis重启的时候会根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。
优点:数据完整性和一致性更高。
缺点:由于AOF记录的内容多,文件会越来越大,数据恢复也会越来越慢。
*注:在一般实际项目中,俩种策略都开启