Redis持久化的两种方式分析

无情 阅读:110 2021-09-05 17:51:36 评论:0
本文章主要介绍了Redis持久化的两种方式,具有不错的的参考价值,希望对您有所帮助,如解说有误或未考虑完全的地方,请您留言指出,谢谢!

一、引言

山高不辞土壤,才能成其高;大海不择细流,才能成其大;

送你们一句话,自己领悟哈                                  66666~

二、redis持久化介绍

redis是一个支持持久化的内存数据库,也就是说redis可以将内存中的数据同步到硬盘,来实现持久化。

redis支持持久化的两种方式:

1、snapshotting(快照),这个是redis默认持久化的方式

快照是redis默认的持久化的方式,这种方式在规定的时间将内存中数据以快照的方式写入到二进制文件中,默认的文件名是:dump.rdb;可以通过配置设置自动持久化的方式,我们可以修改redis.conf文件,来配置redis在n秒如果超过m个key被修改,则自动做快照操作。

2、Append-only file,简称aof的方式

由于快照的方式有一定的间隔时间,所以如果redis在间隔时间内意外down掉后,就会丢失最后一次快照后的所有数据。

aof比快照方式有更好的持久化性,是由于在使用aof时,redis会将每一个收到的命令通过write函数追加到文件中,当redis重启后,会通过重新执行aof文件中的内容,来在内存中重建整个数据库的内容。

 

三、具体实现

1、快照的方式

打开我们redis.conf的配置文件,搜索save,找到如图信息,以下也有相对应的解释。

save 900 1 #如果在900秒以内,超过1个key被修改,则发起快照保存 
save 300 10 #如果在300秒内,超过10个key被修改,则发起快照保存 
save 60 10000 #如果在60秒以内,超过10000个key被修改,则发起快照保存

2、aof的方式

步骤一:打开redis.conf配置文件,找到appendonly,默认是no,改成yes,yes则代表开启aof持久化

步骤二:找到appendfsync,支持三种方式

#appendfsync always #收到命令就立即写入磁盘,最慢,但是保证完全的持久化 
appendfsync everysec #每一秒钟写入磁盘一次,在性能和持久化方便做了很好的调整 
appendfsync no #完全依赖os,性能最好,持久化没保证

步骤三:重启redis即可,执行命令后,查看文件会有appendnoly.aof文件,记录着操作的命令


标签:java
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
KIKK导航

KIKK导航

排行榜
关注我们

一个IT知识分享的公众号