10分钟彻底理解Redis的持久化机制:RDB和AOF
点击上方“ 码农进阶之路 ”,选择 “ 设为星标 ” 回复 “ 面经 ” 获取面试资料 来源: juejin.im/post/5d09a9f f51882577eb133aa9 什么是Redis持久化? Redis作为一个键值对内存数据库(NoSQL),数据都存储在内存当中,在处理客户端请求时,所有操作都在内存当中进行,如下所示: 这样做有什么问题呢? 其实,只要稍微有点计算机基础知识的人都知道,存储在内存当中的数据,只要服务器关机(各种原因引起的),内存中的数据就会消失了,不仅服务器关机会造成数据消失,Redis服务器守护进程退出,内存中的数据也一样会消失。 对于只把Redis当缓存来用的项目来说,数据消失或许问题不大,重新从数据源把数据加载进来就可以了,但如果直接把用户提交的业务数据存储在Redis当中,把Redis作为数据库来使用,在其存储重要业务数据,那么Redis的内存数据丢失所造成的影响也许是毁灭性。 为了避免内存中数据丢失,Redis提供了对持久化的支持,我们可以选择不同的方式将数据从内存中保存到硬盘当中,使数据可以持久化保存。 Redis提供了RDB和AOF两种不同的数据持久化方式,下面我们就来详细介绍一下这种不同的持久化方式吧。 RDB RDB是一种快照存储持久化方式,具体就是将Redis某一时刻的内存数据保存到硬盘的文件当中,默认保存的文件名为dump.rdb