Redis08-Redis持久化

网友投稿 823 2022-05-28

前言

前面我们介绍了Redis数据库以及键空间。这一篇我们继续介绍一下Redis的持久化。Redis持久化的方式有两种,一种是RDB的方式,一种是AOF的方式。

RDB的方式

RDB是Redis DataBase的缩写。是Redis默认的持久化方式,它按照一定的时间将内存的数据以快照的形式保存到硬盘中,对应产生的数据文件是dump.rdb。通过配置文件中的save参数可以定义快照的周期。我们可以在 redis.conf配置文件中找到相关的配置,配置如下所示:

# In the example below the behaviour will be to save: # after 900 sec (15 min) if at least 1 key changed # after 300 sec (5 min) if at least 10 keys changed # after 60 sec if at least 10000 keys changed save 900 1 save 300 10 save 60 10000 # RDB 持久化文件 dbfilename "dump.rdb" # Note that you must specify a directory here, not a file name. dir "/srv/redis/redis-6379"

1

2

3

4

5

6

7

8

9

10

11

12

13

14

默认的快照保存规则是,满足如下三个条件中的一条即可:

15分钟内至少有1个key改变

5分钟内至少有10个key改变

1分钟内至少有10000个key改变

就会触发save命令,对快照进行保存。保存快照是通过一个单独的进程来进行保存的。

优点

只有一个文件dump.rdb,方便持久化

容灾性好,一个文件可以安全地保存到磁盘。

性能最大化,fork子进程来完成写操作,让主进程继续处理命令,所以是IO最大化,使用单独子进程进行持久化,主进程不会进行任何IO操作,保证了Redis的高性能。

相对于数据集大时,比AOF的持久化效率更高。

缺点

数据安全性低,RDB是间隔一段时间进行持久化的,如果持久化之间Redis发生故障,会发生数据丢失,所以这种方式更适合数据要求不严谨的时候。

AOF持久化

AOF持久化,则是将Redis执行的每次写命令记录到单独的日志文件中,当重启Redis会重新从持久化的日志文件中恢复数据。默认的话是不启动AOF持久化的,并且默认的aof文件名是appendonly.aof。让我们来看看 redsis.conf配置文件中的默认配置:

#默认不开启aof备份 appendonly no # The name of the append only file (default: "appendonly.aof") #默认的aof日志文件名是appendonly.aof appendfilename "appendonly.aof" # If unsure, use "everysec". #默认的每秒备份一次 # appendfsync always appendfsync everysec # appendfsync no

1

2

3

4

5

6

7

8

9

10

11

Redis08-Redis的持久化

12

如上所示:与aof备份相关的主要有三个配置,appendonly 配置用于指定是否开启aof备份,no的话表示不开启,yes的话表示开启。appendfilename配置用于指定aof日志文件名,这个一般不用改。appendfsync表示备份方式,其中:

always方式表示一写命令就备份一次虽然安全,系统性能会降低,不推荐使用。

everysec方式表示每一秒钟就备份一次,不管一秒钟变化了多少key,只备份一次,性能得到了一定的保护,推荐使用。

no方式会查看当前服务器状态,如果状态良好,就进行备份(随机)。这种备份方式数据安全是没有保证的。

三种备份方式

性能上: always

数据安全上:always

在实际的生产中,我们应该同时使用两种持久化方式,一般情况下,当Redis重启的时候会优先载入aof文件来恢复原始的数据。

Redis 任务调度

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《计算机视觉算法:基于OpenCV的计算机应用开发》 —2.4 在C++或Python项目中使用OpenCV
下一篇:云渲染燥起来,这波操作让博物馆里的文物活了起来
相关文章