redis学习笔记---redis的持久化(RDB和AOF方式)
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> redis支持两种持久化的方式,可以单独使用或者结合起来使用 第一种:RDB方式(redis默认的持久化方式) 第二种:AOF方式 一、RDB rdb方式的持久化是通过快照完成的,当符合一定条件时redis会自动将内存中的所有数据执行快照操作并存储到硬盘上。默认存储在redis根目录的dump.rdb文件中。(文件名在配置文件中dbfilename) redis进行快照的时机 (在配置文件redis.conf中) save 900 1:表示900秒内至少一个键被更改则进行快照。 save 300 10 save 60 10000 redis自动实现快照的过程 1:redis使用fork函数复制一份当前进程的副本(子进程) 2:父进程继续接收并处理客户端发来的命令,而子进程开始将内存中的数据写入硬盘中的临时文件 3:当子进程写入完所有数据后会用该临时文件替换旧的RDB文件,至此,一次快照操作完成。 注意:redis在进行快照的过程中不会修改RDB文件,只有快照结束后才会将旧的文件替换成新的,也就是说任何时候RDB文件都是完整的。 这就使得我们可以通过定时备份RDB文件来实现redis数据库的备份, RDB文件是经过压缩的二进制文件,占用的空间会小于内存中的数据,更加利于传输。