redis持久化实现原理

redis提供了两种数据持久化实现

1,内存快照

将内存中的数据以快照的方式写入二进制文件中,默认文件名为dump.rdb,不过有一个问题就是每次快照都是将内存里面的所有数据写入到文件里面,而不是增量数据,所有有时候会有重复数据,如果写入比较频繁的应用可能效率不是很高

我们还需要在redis.config里面配置如下:

Redis快照写入的频率

    save 900 1

    save 300 10

    save 60 10000

表示多个条件,第一个表示900秒 或者数据更改一次,以此类推,做一次快照,

 快照文件名称设置(默认文件)

    dbfilename dump.rdb


2,日志追加(aof)

aof就是把增加修改的数据通过write函数追加到文件尾部,默认是appendonly.aof,redis重启的时候读取appendonly.aof中的命令并且执行从而把数据写入到内存中,配置redis.conf如下

appendonly yes;//启动日志追加方式

#appendonly always;/每次增加或者修改就强制写入到磁盘

appendfsync everysec;//每秒强制写入

#appendfsync no;//是否写入完全依赖操作系统


这种方式大大降低了数据丢失的风险,但是也带来了一个问题,就是持久化文件不断增长,但是往往只有最后一条命令是有用的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值