二、Redis-持久化

文章详细介绍了Redis的两种持久化机制:RDB(RedisDatabase)和AOF(AppendOnlyFile)。RDB是按照预设条件生成数据快照,适合全量备份和快速启动,但可能丢失部分数据;AOF记录所有写操作,提供更好的持久性,支持不同写回策略,但文件通常较大。配置中,可以结合两者使用,RDB做全量备份,AOF做增量持久化,以实现最佳的数据安全性和恢复效率。
摘要由CSDN通过智能技术生成

目录

1、RDB(Redis Database)

存储策略

RDB优缺点

优点

缺点

手动保存RDB文件

2、AOF(Append Only File)

存储策略

AOF优缺点

优点

缺点

3、配置RDB和AOF

4、rdb和aof共同使用(推荐)

RDB做全量持久化,AOF做增量持久化:


1、RDB(Redis Database)

RDB持久化就是按一定的时间(如:1h至少有一次redis)或者按操作量(如:60s内修改了10000次redis)的策略将redis中的数据保存至dump.rdb文件中,数据恢复时直接使用dump.rdb文件中的数据

存储策略

可自定义 save <secondes> <changes>

RDB优缺点

优点

  • rdb是一个非常小巧时间点单文件,适合用与备份
  • rdb时候用于灾难回复
  • rdb使用一个子进程进行磁盘io工作
  • 与aof相比,rdb启动大数据集更快
  1. rdb支持重启后的部分同步

缺点

  • rdb不支持最小程度的数据修改(如存储策略为30分钟修改200次,而实际30分钟并只修改了100次,则不会触发自动存储,会导致这100次数据丢失)
  • rdb另开一个子进程来处理io,也会增加性能消耗,特别是在需要存储的数据很大时

手动保存RDB文件

# 直接使用主进程来进行持久化,在持久化完成前会redis会阻塞
save

# 开启一个子进程来进行持久化 (默认)
bgsave

2、AOF(Append Only File)

AOF持久化就是根据配置的存储策略(如:每秒写回磁盘)将执行过的写指令保存appendonly.aof文件中,数据恢复时,会重新执行一次appendonly.aof文件中的所有指令。

存储策略

  1. always(每条写指令都写回磁盘)
  2. everysec(每秒钟写回磁盘)
  3. no(不写回磁盘)

AOF优缺点

优点

  • aof更加持久,拥有三种写策略,将数据丢失减少到最小(如策略为每秒钟写回磁盘,突然断电也只会丢失1秒的数据)
  • aof是追加方式写入,在断电时不会有寻道霍损坏问题
  • aof文件能够在他变得很大时进行自动重写来减少容量(如 key1 多次设置了值,只保存最后一次设置值的指令即可)
  • AOF 以易于理解和解析的格式包含所有操作一个接一个的日志。

缺点

  • aof文件通常大于同一数据集的rdb文件
  • aof可能比rdb满,具体取决于aof的写回策略

3、配置RDB和AOF        Redis配置详解

redis的存储策略在redis.conf文件中进行配置

save " "        表示不开启rdb

save <secondes> <changes>        表示多少秒内改变了多少次redis则执行保存

appendonly yes        开启aof

appendfsync always / everysec / no        配置aof写策略

4、rdb和aof共同使用(推荐)

aof开启后会优先加载aof

aof-use-rdb-preamble yes        开启混合方式

RDB做全量持久化,AOF做增量持久化:

先使用rdb进行快照存储,然后使用aof持久化记录所有写操作,当从写策略满足或手动触发时,将新的数据存储为rdb。这样,从其服务器时,会从RDB和AOF两个部分恢复数据,既保证数据的完整性,又提高了恢复数据的性能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值