redis的数据存储形式

Redis提供了两种持久化方式:RDB(快照)和AOF(日志)。RDB在指定条件满足时保存数据集的快照,适合用于备份和灾难恢复,但可能会丢失最近的修改。AOF记录每次操作,提供更好的持久化,但文件体积较大,恢复速度较慢。在选择时,可以根据对数据完整性和性能的需求来决定使用哪种方式,或结合两者使用以平衡安全性和效率。
摘要由CSDN通过智能技术生成

目录

存储方式有2种

快照

AOF

RDB 的优点

RDB 的缺点

AOF 的优点

AOF 的缺点

RDB 和 AOF ,我应该用哪一个?


存储方式有2种

redis 提供持久化功能,把数据以文件的方式持久化到硬盘中,但是目前大多都是redis配合关系数据库使用,持久化仍然由关系数据完成,redis自身的持久化用于保证数据的安全性,以保证存放在redis的内存数据在没有被全部被持久化到关系中如果redis服务器发生灾难数据的完整性。下面介绍redis两种持久化方式。

快照

1.Snapshotting即快照方式,存储方式在redis.conf中的配置为 save 900 1  #当有一条Keys数据被改变时,900秒刷新到Disk一次

save 300 10   #当有10条Keys数据被改变时,300秒刷新到Disk一次

save 60 10000 #当有10000条Keys数据被改变时,60秒刷新到Disk一次 可根据需求修改,当内存数据的变动满足如上配置时,redis会给但是内存数据做snapshot,完整保存当时内存数据状态,文件存储在dump.rdb中,当做一次新的snapshot时,进程会把此时的内存的snapshot写在一个临时文件中,当临时文件写完,用新写的临时文件替换原有的dump.rdb文件,并删除旧的 RDB 文件。。每次快照持久化都是将内存数据完整写入到磁盘一次,并不是增量的只同步脏数据。如果数据量大的话,而且写操作比较多,必然会引起大量的磁盘io操作,可能会严重影响性能。

另外由于快照方式是在一定间隔时间做一次的,所以如果redis意外down掉的话,就会丢失最后一次快照后的所有修改。

AOF

2.aof方式,aof方式是以日志的方式来存储数据,即它将记录每次对于redis的操作,每一次操作都有一条相应的记录,因此aof方式产生的文件比snapshot方式要大。比如set test 1然后调用 100次 incr test,则aof方式会存储这100次操作,但是对于客户端有用的却只是最后一次修改后的值,如果此时做了snapshot,则dump.rdb文件只是保存了最后一次操作后的值,而appendonly.aof则保存了每一次操作的记录。aof方式在配置文件中的体现 

appendonly

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值