栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

持久化操作AOF

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

持久化操作AOF

1. AOF 是什么?

Append only File,是以日志的形式来记录每个写操作(增量保存),将 redis 执行过的所有写指令记录下来(读指令不记录),只能追加文件,不可以改写文件。redis 启动之初会读取该文件重新构建数据,即,redis 重启就根据日志文件内容将写指令从前到后执行一次以完成数据恢复

2. Redis 中 RDB 默认开启,但是 AOF 默认不开启

在 redis.conf 中,appendonly 参数 默认 no,可改为 yes 打开,文件名为 appendonly.aof

文件路径同 RDB

3. RDB 和 AOF 都开启,redis 听谁的?

听 AOF 的,因为数据不会存在丢失

4. 若 aof 文件损坏,如何异常恢复?

通过 /usr/local/bin/redis-check-aof --fix appendonly.aof 进行恢复

5. AOF 同步频率设置

appendfsync always

始终同步,每次redis的写入都会立刻记入日志,性能较差,但数据完整性好

appendfsync everysec

每秒同步

appendfsync no

redis 不主动进行同步,把同步时机交给操作系统

6. 重写压缩 (Rewrite 压缩)

如果操作了 set a a1 也操作了 set b b1

那么最终记录得到的是 set a a1 b b1(最终写一个总的,不关注中间操作了什么)

7. 重写的原理?

AOF 文件持续增长而过大时,会 fork 出一个新进程将文件重写(也是先写临时文件,再rename,同 RDB)

redis 4.0 版本之后的重写,是将 rdb 的快照,以二进制的形式赋值在新的 aof 的头部,作为已有的历史数据,替换原来的流水账操作

8. 重写触发条件

AOF 当前大小 >= 64 M + 64 M * 100%(即 128 M)才会重写

9. 缺点

(1)比 RDB 占用更多的磁盘空间

(2)恢复备份速度慢

(3)每次读写都同步的话,有一定的性能压力

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/973240.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号