Redis RDB是一种针对Redis持久化的一种策略,它将Redis的key-value数据快照保存至硬盘上,在Redis重启时可通过读取快照文件还原内存中的数据。相比于AOF来说,RDB的优点在于数据密度高,文件小,恢复速度快,但是可能会丢失最后一次快照后的数据。Redis提供了RDB的手动和自动两种触发方式,手动触发可通过执行SAVE或BGSAVE指令,自动触发则是通过配置redis.conf的save参数实现。

RDB的优缺点
Redis RDB有以下几个优点:
保存快照方便,容易还原数据;
数据密度高,压缩算法支持多种方式,可根据数据变化调整;
恢复速度快,对硬盘I/O的要求不高;
多进程恢复,支持后台异步处理;
文件名直观,易于管理。
同时RDB也有一些缺点:
无法实现持久化的实时化,可能会发生数据丢失;
每次进行保存操作时,需要进行fork操作,有短暂的阻塞风险;
对于大规模数据存储或实时数据库场景,适用性并不高。
RDB与AOF的差别
相对于RDB,AOF使用的是写入日志的方式进行持久化,将每个操作追加到日志文件的末尾。相比于RDB的优势在于数据更安全,即使出现宕机等问题也能够最大限度地还原数据。同时,由于采用的是追加方式,AOF能够实现持久化的实时化。但是其同样有缺点:AOF日志文件过大,若长时间不截断可能会出现性能问题;写入操作需要频繁的磁盘IO,对于高频写入的业务系统,AOF的性能可能会有影响。

京公网安备 11010802030320号