redis持久化配置
Redis持久化配置
redis持久化配置提供了两种方式,分别是RDB和AOF。
RDB介绍
RDB方式是一种快照式的持久化方法,将某一时刻的数据持久化到磁盘中,原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化。RDB保证了数据的完整性,并且恢复速度也更快,有点缺点就是可能会丢失一个时间段内的数据,默认的文件名是dump.rdb(好比你阿里云创建快照,恢复的时候就直接整个给你恢复这个时间点的数据)
AOF介绍
AOF方式是将执行过的写指令记录下来,在数据恢复时按照丛前到后的顺序再将指令执行一遍,原理是将Reids的操作日志以追加的方式写入文件。AOF能实现数据实时性,但是恢复数据会慢些,文件appendonly.aof(类似数据bin.log日志,每次都记录指令)
RDB配置
默认情况下,是快照RDB的持久化方式,将内存中的数据以快照的方式写入二进制文件中,默认的文件名是dump.rdb
redis.conf默认配置:
save 900 1
save 300 10
save 60 10000
配置含义:
900秒内,如果超过1个key被修改,则发起快照保存
300秒内,如果超过10个key被修改,则发起快照保存
60秒内,如果1万个key被修改,则发起快照保存
默认配置不方便看效果,可将快照频率设大一点,在redis.conf中增加一行:
save 10 1
保存后,启动redis服务端和客户端。在客户端输入命令:
输入完,发现dump.rdb文件的修改日期变了,并且redis服务端增加了保存日志:
接下来,重启redis服务端和客户端,看数据是否真的持久化了:
妥妥的~,说明使用RDB快照持久化成功了
AOF配置
redis.conf默认配置:
appendonly no
配置文件中的appendonly修改为yes,开启AOF持久化。开启后,启动redis服务端,发现多了一个appendonly.aof文件
使用AOF做持久化,每一个命令以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis 还可以在后台对 AOF 文件进行重写,使得 AOF文件的体积不会超出保存数据集状态所需的实际大小。实际上,AOF持久化并不会立即将命令写入到硬盘文件中,而是写入到硬盘缓存,在接下来的策略中,配置多久来从硬盘缓存写入到硬盘文件。所以在一定程度一定条件下,还是会有数据丢失,不过你可以大大减少数据损失
# appendfsync always
appendfsync everysec
# appendfsync no
配置含义:
always: 每次操作都会立即写入aof文件中
everysec: 每秒持久化一次(默认配置)
no: 不主动进行同步操作,默认30s一次
当然always一定是效率最低的,个人认为everysec就够用了,数据安全性能又高。Redis也允许我们同时使用两种方式,再重启redis后会从AOF中恢复数据,因为AOF比RDB数据损失小嘛
配置好后,启动redis客户端,输入命令:
最后的flushall是清除所有的键值。打开appendonly.aof文件,可以看到:
去掉最后面的flushall(也可以按照redis协议增加命令),重启客户端和服务端,看数据是否真的持久化了:
妥妥的~,说明使用AOF持久化也成功了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2020-04-14 windows下使用内网穿透
2020-04-14 mysql清除账号
2020-04-14 博客园后台使用markdown代码高亮显示
2020-04-14 mysql更新数据
2020-04-14 mysql新增字段