redis的数据存储方式

Redis提供两种持久化方式:Snapshotting(快照)和AOF(Append Only File)。快照方式在满足特定条件时完整保存内存数据到磁盘,可能导致大量IO操作影响性能,并可能丢失部分数据。AOF以日志形式记录每次操作,可配置fsync策略,更安全但文件体积可能更大。在数据安全性与性能之间,开发者需要权衡选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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掉的话,就会丢失最后一次快照后的所有修改。

 

2.aof方式,aof方式是以日志的方式来存储数据,即它将记录每次对于redis的操作&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值