Redis持久化方式:RDB(Redis DataBase)和 AOF(Append Only File)

文章目录

Redis持久化:RDB与AOF

Redis的持久化功能可以将内存中的数据保存在磁盘上,防止服务器故障导致数据丢失。Redis提供了两种持久化方式:RDB(Redis DataBase)和 AOF(Append Only File)。以下是这两种持久化方法的详细解释。

一、RDB 持久化

RDB持久化方式是通过创建数据的快照来实现的。在指定的时间间隔内,如果满足一定的写操作数量,Redis就会自动触发RDB持久化操作,将当前所有数据写入到一个dump.rdb的文件中。

例如,在配置文件中有以下设置:

bash 复制代码
save 900 1 # 在900秒(15分钟)之后,如果至少有1个key发生改变,Redis就会自动触发RDB持久化操作。
save 300 10 # 在300秒(5分钟)之后,如果至少有10个key发生改变,Redis就会自动触发RDB持久化操作。
save 60 10000 # 在60秒(1分钟)之后,如果至少有10000个key发生改变,Redis就会自动触发RDB持久化操作。

此外,可以通过SAVE或者BGSAVE命令手动触发RDB持久化操作。SAVE命令会阻塞数据库的所有其他操作,直到RDB文件创建完毕,而BGSAVE命令则会在后台创建RDB文件。

二、AOF 持久化

与RDB不同,AOF持久化方式记录服务器接收到的每一条写命令。这些命令以Redis协议的格式保存在Append Only File(AOF)文件的末尾。当Redis服务器重启时,它会通过重新执行保存在AOF文件中的所有写命令来还原数据集。

为了减小AOF文件的大小,Redis提供了BGREWRITEAOF命令,该命令可以创建一个新的AOF文件。这个新的AOF文件和原始的AOF文件代表相同的数据集,但通常体积更小。

此外,用户可以根据自己的需求配置AOF的fsync策略,即决定何时将数据真正写入磁盘。有以下三种选择:

bash 复制代码
appendfsync always # 每次有数据修改发生时都会写入AOF文件, 这样会严重降低Redis的速度
appendfsync everysec # 每秒钟同步一次,显示地将多个写命令同步到硬盘
appendfsync no # 完全依赖操作系统,性能最好

两种持久化方式各有优缺点,可以根据具体的应用场景选择使用。另外,也可以同时开启两种持久化方式,以充分利用两者的优点。

ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍

ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ

相关推荐
逻极4 分钟前
Redis 从入门到精通:缓存设计与实战
数据结构·redis·缓存·哨兵集群
肖爱Kun5 分钟前
GB28181启动传参的设计
linux·服务器·数据库
夜白宋6 分钟前
【Redis深入】二、高性能
java·前端·redis
iNeuOS工业互联网9 分钟前
iNeuOS_AiInsight·数智灵鉴(Text2SQL/NL2SQL自然语言大模型智能问数),免费下载试用
大数据·数据库·人工智能·智能制造·工业互联网·ineuos
数据库小学妹11 分钟前
分布式数据库选型实战:Share-Nothing、Share-Disk、Share-Storage三种架构对比
数据库·经验分享·分布式·架构·dba
小马爱打代码15 分钟前
基于Redis发布订阅实现轻量级多级缓存方案
数据库·redis·缓存
Leon-Ning Liu15 分钟前
【真实经验分享】ORA-03113 ORA-7445[evaopn3()+240]根因定位:从通信中断到内核空指针崩溃的完整排查实录
数据库
青春之我_XP16 分钟前
深度解析 SQL 经典面试题:如何优雅地计算连续登录天数?
数据库·sql·mysql
承渊政道17 分钟前
【MySQL数据库学习】MySQL表的约束(上)
数据库·c++·学习·mysql·bash·数据库架构·数据库系统
星越华夏20 分钟前
SQLite数据库优化实战技巧案例
数据库·sqlite