目录
Redis作为一个基于内存的键值对数据结构服务器,其所有的数据都是保存在内存中的,也就是说,如果没有持久化操作,当Redis服务器重启时,里面的数据都会全部被清空,内存空间会被其它进程占用。数据持久化允许将数据写入到硬盘中,以供数据库备份或是故障后的恢复,Redis提供的持久化方式有两种RDB和AOF,这篇日志我们先来总结下RDB,它是Redis默认使用的的持久化方式。
使用RDB
RDB方式就是在对数据库的写操作产生/修改的数据从内存写入到磁盘,什么时候需要将内存中的数据写入磁盘呢?这是根据设定时间内执行的写操作次数决定,例如每900秒内有超过一个键发生了改变,就会将此时内存中的数据写入到磁盘中,默认情况下写入到名为dump.rdb的文件中,下一次Redis服务器重启时就会通过该文件进行数据恢复。对于RDB写入磁盘条件参数的设置,我们可以在redis.conf文件中看到,打开redis.conf文件查找SNAPSHOTTING:
可以看到有三个参数配置,分别是900秒内有超过一个键修改、300秒内有超过10个键修改以及60秒内有超过10000个键修改,