|NO.Z.00023|——————————|BigDataEnd|——|Hadoop&Redis.V05|——|Redis.v05|RDB/AOF对比选型|
一、RDB与AOF对比和选型:RDB与AOF对比
### --- RDB与AOF对比和选型:RDB与AOF对比
~~~ # RDB存某个时刻的数据快照,
~~~ 采用二进制压缩存储,AOF存操作命令,采用文本存储(混合)
~~~ # RDB性能高、AOF性能较低
~~~ # RDB在配置触发状态会丢失最后一次快照以后更改的所有数据,
~~~ AOF设置为每秒保存一次,则最多丢2秒的数据
~~~ # Redis以主服务器模式运行,
~~~ RDB不会保存过期键值对数据,Redis以从服务器模式运行,
~~~ RDB会保存过期键值对,当主服务器向从服务器同步时,再清空过期键值对。
### --- AOF写入文件时,对过期的key会追加一条del命令,当执行AOF重写时,会忽略过期key和del命令。
127.0.0.1:6379> set pname:1 111 PX 1000
OK
127.0.0.1:6379> get pname:1
(nil)
127.0.0.1:6379>
[root@linux123 bin]# vim appendonly.aof
^Gzhaoyun àtv<86>^A<8a>u^N^@
^Hdiaochan
二、应用场景
### --- 应用场景
~~~ 内存数据库 rdb+aof 数据不容易丢
~~~ 有原始数据源: 每次启动时都从原始数据源中初始化 ,则 不用开启持久化 (数据量较小)
~~~ 缓存服务器 rdb 一般 性能高
~~~ # 在数据还原时
~~~ 有rdb+aof 则还原aof,因为RDB会造成文件的丢失,AOF相对数据要完整。
~~~ 只有rdb,则还原rdb
~~~ # yanqi的配置策略
~~~ 追求高性能:都不开 redis宕机 从数据源恢复
~~~ 字典库 : 不驱逐,保证数据完整性 不开持久化
~~~ 用作DB 不能主从 数据量小
~~~ 做缓存 较高性能: 开rdb
~~~ Redis数据量存储过大,性能突然下降,
~~~ fork 时间过长 阻塞主进程
~~~ 则只开启AOF
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv012-redis
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通