Redis教程

面试十七、redis之持久化

本文主要是介绍面试十七、redis之持久化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、redis是内存数据库,一旦进程推出数据就会丢失,为防止这种情况redis需要定时的将内存中的数据持久化到硬盘,

  这样因为不知原因进程死掉重启后,redis可以从硬盘中重新加载数据实现数据恢复。

  目前有两种方案:RDB(redis database)和AOF(append only file)

2、rdb持久化:redis默认的持久化方式。可设置在指定时间内,执行指定次数操作时,就讲数据写入硬盘。命令save m n

  如:save 60 1

  60秒内有1次操作,就讲数据持久化到硬盘。默认是save 900 1

  优点:备份文件小,数据恢复快,性能要求低

  缺点:数据完整性和一致性不高,可能最后一次备份前刚好宕机了

3、aof持久化:redis默认不开启。原理是将redis每一次写操作指令都记录在日志里,当需要恢复数据时将指令从前到后执行一遍

  配置方式:

    1)appendfsync-always:每次写操作都记录

    2)appendfsync-everysec:每秒记录一次

    3)appendfsync-no:不记录

  优点:数据完整性和一致性高

  缺点:随着时间推移,写日志文件会越来越大,恢复数据时会越来越慢。

  

这篇关于面试十七、redis之持久化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!