redis高级特性之持久化

本文深入探讨Redis数据持久化的两种方式:快照(snapshotting)和AOF(appendonlyfile),解释了它们的工作原理、配置方法及优缺点。重点在于帮助读者理解如何在保证数据完整性和系统稳定性的前提下,灵活运用Redis持久化策略。

redis是一个内存式的数据库,数据是保存到内存中的,这也是redis数据库能够处理海量数据,速度快的一个主要的因素。但是内存中的数据加入服务器重启之后,数据库中的数据就丢失了。所以我们需要将内存中的数据保存到硬盘中,从而实现数据的持久化。在redis中有两种方式:快照的方式(snapshotting)和append only file的方式(aof)。

快照方式:快照的方式每隔一定的时间就会将数据以快照的方式存放到二进制文件中,默认的存放的文件的名字为dump.rdb。我们可以通过修改配置文件来设定多长时间有多少个key修改就可以将操作记录到文件中。配置方式如下

vim redis.conf

save 900 10  //在900秒钟如果有10个key有了修改就将操作记录到文件中去

这种方式存在明显的缺陷,因为这种存储的方式是通过时间控制的。如果redis意外宕机的话,就会丢失最后一次备份之前的数据。

aof方式比快照方式有更好的持久性,在使用aof的时候,redis会将每一个写操作都写入到文件中去,当服务器重启或者宕机的时候,下次启动的时候会默认的读取相应的文件中的写操作,从而恢复数据库中的内容。

配置aof

appendonly  yes //开启aof的持久化方式

appendfsync  always //只要收到写操作就将操作记录到文件中,性能不好,持久化完全保证

appendfsync  everysec //每秒钟就行一次写操作的记录,在持久化和性能方面是很好的折中

appendfsync  no     //依靠OS,性能最好,但是持久化没有保证

一般选择的折中的办法,每一秒钟写入一次。如果对数据进行了修改,我们会生成一个appendonly.aof的文件,里面记录的是对数据库的写操作。可以用来重新建立数据库中的内容的。

持久化就是这些,希望大家能够与我多交流。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值