Redis的持久化(重要,面试题)

持久化:就是把内存中的数据保存到磁盘

1.Redis为什么要有持久化?

由于Redis是一个基于内存的数据库,因此数据容易丢失,为了解决数据丢失的问题,于是Redis就设计了持久化

2.Redis的持久的方式有哪些?

有两个,分别是rdb和aof的持久化方式

3.分别介绍一下Redis的持久化方式的机制

rdb持久化:Redis为我们提供了一个rdb的持久化方式具体每隔一定时间,或者当key的改变达到一定的数量的时候,就会自动往磁盘保存一次

 1 save 900 1(900秒后1个key改变) 2 save 300 10(300秒后19个key改变) 3 save 60 10000(60秒后10000个key改变)(save是或者的关系) 

aof持久化:Redis还为我们提供了一个aof的持久化方式,这种方式是通过记录用户的操作过程(用户每执行一次命令,就会被Redis记录在XXX.aof文件里,如果突然断电了,Redis的数据就会通过重新读取并执行XXX.aof里的命令记录来恢复数据)来恢复数据

4.两种Redis持久化方式的优缺点

都是为了防止数据丢失

rdb:假如三种方式没有一种被满足,触发不了保存,突然断电,那就会丢失数据

aof:为了解决rdb的弊端,就有了aof的持久化,始终在一个文件里保存记录,但aof的持久化随着时间的推移数据量会越来越大,占用很大的空间

相关推荐