软考-系统架构设计师,Redis持久化是重要考点。
RDB:传统数据库中快照的思想,指定时间间隔将数据进行快照存储。
AOF:传统数据库中日志的思想,将每条改变数据集的命令追加到AOF文件的末尾,这样出问题了,可以重新执行AOF文件中的命令来重建数据集。
对比维度 | RDB持久化 | AOF持久化 |
备份量 | 重量级的全量备份,保存整个数据库 | 轻量级增量备份,一次只保存一个修改命令 |
保存间隔时间 | 保存间隔时间长 | 保存间隔时间短,默认1秒 |
还原速度 | 数据还原速度快 | 数据还原速度慢 |
阻塞情况 | save会阻塞,但bgsave或者自动不会阻塞 | 无论是平时还是AOF重写,都不会阻塞 |
数据体积 | 同等数据体积:小 | 同等数据体积:大 |
安全性 | 数据安全性:低,容易丢数据 | 数据安全性:高,根据策略决定 |
在实际的工作中,两种持久化方式,需要结合业务本身的要求去选择。另外,Redis不仅仅可以做缓存,我在实际的项目中,Redis直接当数据库来使用。Redis架构有:主从架构、集群架构都是常用的技术方案,根据业务规划自行选择。