Redis是怎么做持久化的?
- Redis是内存型数据库。也就是说,只要Redis进程退出了,相关的数据就会丢失,对应的内存空间会被其他进程占用。那么,Redis是用什么样的持久化策略,保证数据不丢失的呢?
RDB持久化
- RDB持久化会产生二进制文件,保存到硬盘当中。RDB方式保存的是键值。写的时候会复制。
AOF持久化
- RDB持久化相当于备份数据库状态,而AOF持久化是备份数据库接收到的命令,写命令。命令是以追加的方式写到AOF文件当中的。
- Redis启动的时候会先检查AOF文件,没有的时候才会检查RDB文件。
- 持久化的时候通常会另起一个子进程来同步,为避免在同步过程中的主进程更新Redis,导致数据不一致,还会设置缓冲区。