【Redis面试题一:Redis持久化机制】

目录​​​​​​​

一、Redis持久化是什么?

二、Redis持久化机制

1.RDB(Redis Database,默认持久化机制)

2.AOF(Append Only File)

3.混合模式(RDB+AOF, redis4.0之后)

三.RDB、AOF和混合模式的优缺点​​​​​​​​​​​​​​


一、Redis持久化是什么?

        持久化就是将内存的数据写入到磁盘当中,防止服务突然宕机,造成内存数据的丢失。
 

二、Redis持久化机制

1.RDB(Redis Database,默认持久化机制)

RDB是按照一定的时间将内存中的数据以快照的形式保存到硬盘中。可以通过redis的配置文件中的save参数来定义快照的周期。

可以设置redis自动保存快照,redis.conf中添加配置,例如:

  • save 3600 1:1小时内,有1条数据改动
  • save 300 100:5分钟内,有100条数据改动
  • save 60 10000:1分钟内,有10000条数据改动​​​​​​​

2.AOF(Append Only File)

AOF是将Redis的每一次操作都写入到单独的日志文件中,当重启redis会重新从持久化的的日志中恢复数据。

默认不开启AOF,需要在配置文件中开启AOF:

appendonly yes #默认是no

3.混合模式(RDB+AOF, redis4.0之后)

将RDB和AOF混合一起使用,在使用混合模式时,所有的数据操作也是保存在AOF当中,当进行恢复文件的时候,会将原有的AOF删除,并且将其中的数据全部以快照的形式保存至RDB文件当中。

默认已经开启了混合模式:

aof-use-rdb-preamble yes

需要手动打开AOF:

appendonly yes #默认是no

三.RDB、AOF和混合模式的优缺点

类型 优点 缺点
RDB
  • 恢复数据速度快
  • 可能丢失少量新数据
  • 持久化时存储数据效率低
AOF
  • 持久化效率高
  • 不会丢失数据
  • 恢复数据时效率低
  • aof中记录的所有命令进行重放,效率低
混合模式(RDB+AOF)
  • 持久化效率高
  • 保证数据的安全性
  • 不会丢失数据且恢复的速度快

PS:此知识点讲授源于达内

你可能感兴趣的:(redis,面试,数据库,缓存,java)