Redis持久化之AOF
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,背景:RDB不足之处1.耗时,耗性能生成快照文件耗时,load快照文件耗时Fork子进程网络开销写文件磁盘I/O开销2.不可控,丢失数据会丢失最后一次快照最后操作的数据。一、工作流程Redis写操作命
千家信息网最后更新 2025年01月23日Redis持久化之AOF
背景:RDB不足之处
1.耗时,耗性能
生成快照文件耗时,load快照文件耗时
Fork子进程网络开销
写文件磁盘I/O开销2.不可控,丢失数据
会丢失最后一次快照最后操作的数据。
一、工作流程
Redis写操作命令 --> aof缓冲区 --> aof文件
注意,aof缓冲区的数据同步到磁盘的频率d由aof策略决定
二、AOF三种策略
1.Always 总是
每条指令都即时写入
不会丢失数据,磁盘I/O开销
2.Every second每秒
系统默认策略
每分钟写入一次
可能丢失一秒数据
3.No系统自动
不可控
3、AOF重写
随着时间得推移,aof文件日益变大。会降低磁盘性能,降低数据恢复速度。
目的:1.减少磁盘占用;2.加快恢复速度。
重写操作
方式一,客户端手动发送指令bgrewriteof
服务端fork子进程,子进程对内存中的数据进行回塑然后写入现有的aof文件。
方式二,通过配置文件触发
文件增长率
auto-aof-rewrite-percentage 100
最小文件尺寸
auto-aof-rewrite-min-size 64mb
四、AOF实验
1.redis写操作
27.0.0.1:6379> set hello worldOK127.0.0.1:6379> set hello phpOK127.0.0.1:6379> set hello javaOK127.0.0.1:6379> set hello jackOK127.0.0.1:6379> set zhang sanOK127.0.0.1:6379> set li siOK127.0.0.1:6379> set li xiaolongOK
上述操作多次覆写hello,li两个key。
2.查看aof日志文件
$ sudo cat -b /var/lib/redis/appendonly.aof 1 REDIS0009� redis-ver5.0.3�� 2 redis-bits�@�ctime��]used-mem�غ aof-preamble��$e���q �*2 3 $6 4 SELECT 5 $1 6 0 7 *3 8 $3 9 set 10 $5 11 hello 12 $5 13 world 14 *3 15 $3 16 set 17 $5 18 hello 19 $3 20 php 21 *3 22 $3 23 set 24 $5 25 hello 26 $4 27 java 28 *3 29 $3 30 set 31 $5 32 hello 33 $4 34 jack 35 *3 36 $3 37 set 38 $5 39 zhang 40 $3 41 san 42 *3 43 $3 44 set 45 $2 46 li 47 $2 48 si 49 *3 50 $3 51 set 52 $2 53 li 54 $8 55 xiaolong
3.重写aof
127.0.0.1:6379> bgrewriteaofBackground append only file rewriting started
4.查看重写后的aof日志文件
whqlkj@whqlkj:~$ sudo cat -b /var/lib/redis/appendonly.aof 1 REDIS0009� redis-ver5.0.3�� 2 redis-bits�@�ctime����]used-mem�ػ aof-preamble���zhangsanlxiaolonghellojack��XȰ-���
五、RDB与AOF对比
对比环节 | RDB | AOF |
---|---|---|
启动优先级 | 低 | 高 |
数据恢复速度 | 快 | 慢 |
文件大小 | 小(rdb二进制压缩文件) | 大(重写后的日志记录文件) |
数据安全 | rdb丢失数据(可能会丢失最后一次save/bgsave快照之后操作的数据) | aof根据策略决定(详见3种同步策略) |
操作重量级 | 重(rdb快照) | 轻(aof追加日志) |
文件
数据
快照
磁盘
策略
日志
开销
进程
速度
性能
指令
数据恢复
方式
系统
缓冲区
同步
缓冲
最小
安全
两个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络技术学习的心得
网络安全的版面
网络安全进学校活动具体内容
服务器不同影响运行速度
dell服务器管理口在哪
数据库软件是应用软件
同花顺怎么一直在切换服务器
天津市天气预报软件开发
geo数据库挖掘表达量数据
看数据库的软件
软件开发有什么创新
软件开发部经理年薪
考勤机的mdb数据库
服务器连接外置存储器无法启动
黑服务器挖矿
数据库临时表和正式表关联
网络安全方面知识的手抄报
软件开发项目质量保证的计划
个人炒股用数据库正版
tdb游戏数据库
深圳中兴软件开发有哪些部门
服务器关闭445端口
网络安全第一讲的是什么
北京诚信网络技术服务商家
同花顺怎么一直在切换服务器
500强对日软件开发
三级数据库考试设计题放哪
霸州管理软件开发
江苏计算机软件开发项目管理
加强学校网络安全整改报告