redis的持久化,快照持久化和只追加文件持久化

Redis的持久化机制包括RDB(快照)和AOF(只追加文件),旨在确保数据安全并能在故障后恢复。RDB在特定条件下降内存快照保存至磁盘,用于主从复制和数据恢复。AOF则实时记录每次修改操作,提供更好的实时性,可通过appendfsync选项控制同步频率以平衡性能和安全性。默认配置下,Redis采用RDB策略,而AOF需要手动开启。
摘要由CSDN通过智能技术生成

持久化是为了将内存中的数据写入到磁盘里面,主要是为了机器重启,机器故障之后的数据恢复。或者说防止系统故障将数据备份。

快照持久化(RDB)

Redis可以通过创建快照来获得内存里面的数据在某一时间节点上的副本。Redis创建快照之后可以将快照备份到其他服务器,根据这个快照创建具有相同数据的服务器副本(redis的主从结构,提高redis性能)。还可以在重启的时候使用这个快照恢复数据。

快照持久化是redis默认的持久化方式,Redis.conf配置文件中默认有此下配置:

save 900 1           #在900秒(15分钟)之后,如果至少有1个key发生变化,Redis就会自动触发BGSAVE命令创建快照。
​
save 300 10          #在300秒(5分钟)之后,如果至少有10个key发生变化,Redis就会自动触发BGSAVE命令创建快照。
​
save 60 10000        #在60秒(1分钟)之后,如果至少有10000个key发生变化,Redis就会自动触发BGSAVE命令创建快照。

只追加文件持久化(AOF)

与快照持久化相比,只追加文件持久化的实时性更好,默认情况下Redis没有开启这种方式。可以通过appendonly参数开启:

appendonly yes

开启AOF持久化后,每执行一条会更改Redis数据的命令,redis就会将命令写进硬盘的AOF文件。(AOF 文件的保存位置和 RDB 文件的位置相同,都是通过 dir 参数设置的,默认的文件是appendonly.aof。)

Redis有三种不同的AOF持久化方式,分别是:

appendfsync always    #每次有数据修改发生时都会写入AOF文件,这样会严重降低Redis的速度
appendfsync everysec  #每秒钟同步一次,显示地将多个写命令同步到硬盘
appendfsync no        #让操作系统决定何时进行同步

为了兼顾数据安全,和写入性能,可以采用appendfsync everysec 选项。每秒同步一次AOF文件,对redis的性能基本没有影响,就算是系统崩溃,用户也只损失一秒内产生的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值