参考:蚂蚁课堂
Redis因为某种原因的情况下宕机之后,数据是不会丢失的。原理就是持久化。EHCACHE(一级缓存,JVM中的)也会有持久化机制。缓存框架一般情况下都有基本的淘汰策略,持久化机制。
Redis持久化机制AOF,RDB(默认)。
1.RDB
RDB他的本质上是全量同步。下面我们看一下RDB同步方案的图解
在redis中一共有两个进程一个是主进程它是专门监听我们redis请求的,另一个是fork子进程专门处理RDB数据同步的,它采用的方式是定时执行,在一段时间内他会将写入Redis文件的数据保存到一个叫RDB的临时文件当中,最终同步到最终RDB中,如果下一次的RDB临时文件仍然想要同步的话他会覆盖掉这个RDB文件,当redis宕机再启动的时候会将RDB中保存的数据放到内存中。
切换到redis的bin目录下发现dump.rdb,这个就是我们的rdb文件。在配置文件中rdb是被默认开启的