持久,redis 持久化有哪几种方式,怎么选?

持久,redis 持久化有哪几种方式,怎么选?

? 作者:知识浅谈,CSDN博客专家,阿里云签约博主,InfoQ签约博主,华为云云享专家
? 擅长领域:全栈工程师、爬虫、ACM算法
? 公众号:知识浅谈

Redis 持久化有哪几种方式?
?这次都给他拿下?

redis持久化包含两种方法:一种是以日志的形式进行持久化,另一种是以镜像的形式存储。

?RDB持久化

这种持久化是以生成镜像的形式进行持久化。
SAVE:是以阻塞的方式进行生成一个RDB镜像。
BGSAVE:是以非阻塞的方式,就是主线程生成一个bgsave的子线程去持久化一个RDB镜像。

?AOF持久化

这种持久化是以日志的形式记录对redis修改的命令,记录到aof文件中。
随着日志的逐渐增加,需要对文件进行压缩,也就是aof重写,通过对现有redis数据库中的数据扫描,以添加的命令记录aof日志,替换掉之前的日志。
三种持久化策略:
everysec:每秒持久化一次
always:每次修改就持久化,就是写到文件中
no:由系统来决定什么时候持久化

?两种持久化的比较

RDB:因为是生成的镜像,所以在回复的时候比较快,但是因为不像是aof可以保证一致性。
AOF:因为是以日志的形式,所以一致性较高,但是因为文件较大,所以在恢复的时候比较慢。
所以常见的方式是两种持久化方法的结合,RDB记录一大部分,aof保证一致性。

?总结

发表评论

相关文章