redis数据持久化

简介:

redis数据持久化就是将内存中的数据保存到磁盘文件中,主要有两种持久化方式rdb(默认)和aof,下面主要介绍怎么使用rdb(默认)进行数据持久化。

 

一、使用rdb(默认)进行数据持久化

1、rdb方式的持久化是通过快照完成的,当符合一定条件时redis会自动将内存中的所有数据执行快照操作并存储到硬盘上。默认存储在dump.rdb文件中。(文件名在配置文件中dbfilename)

2、redis进行快照的时机(在配置文件redis.conf中)
save 900 1        #表示900秒内至少一个key被更改则进行快照。
save 300 10
save 60 10000

3、redis实现快照的过程
    1)、redis使用fork函数复制一份当前进程的副本(子进程)
    2)、父进程继续接收并处理客户端发来的命令,而子进程开始将内存中的数据写入硬盘中的临时文件
    3)、当子进程写入完所有数据后会用该临时文件替换旧的RDB文件,至此,一次快照操作完成

4、rdb的优缺点
优点:由于存储的有数据快照文件,恢复数据很方便。
缺点:会丢失最后一次快照以后更改的所有数据。

5、注意
redis在进行快照的过程中不会修改RDB文件,只有快照结束后才会将旧的文件替换成新的,
也就是说任何时候RDB文件都是完整的。这就使得我们可以通过定时备份RDB文件来实现redis数据库的备份,
RDB文件是经过压缩的二进制文件,占用的空间会小于内存中的数据,更加利于传输。
原文地址:https://www.cnblogs.com/XueTing/p/13715636.html