Redis7持久化

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis7持久化

一、redis持久化

image.png

1、RDB

RDB持久性以指定的时间间隔执行数据集的时间点快照

也就是说在一定的时间间隔内,将某一时刻的数据和状态以文件的形式写到磁盘上,这个快照文件交dump.rdb

Redis6更新策略

image.png

image.png

RDB手动触发

image.png

5秒2次修改

image.png

image.png

image.png

RDB手动触发

save:优先级高,执行该命令时其他进程都会停下来等这个命令执行完,因此在此期间redis对外缓存功能失效,很少用
bgsave:在执行该命令的时候,redis产生一个fork,相当于复制了一个父进程,由此来异步保存RDB

lastsave   //查看上一次保存的时间戳,在linux下查看日期

image.png

image.png

优缺点

image.png

RDB修复命令

image.png

哪些操作会触发RDB快照

配置文件中默认的快照配置

手动 save/bgsave 命令

执行flush / flushdb 命令也会产生 dump.rdb 文件,但里面是空的,无意义

执行 shutdown 且没有设置开启 AOF 持久化

主从复制时,主节点自动触发

如何禁用快照

动态所有停止 RDB 保存规则的方法: redis-cli config set save “”

快照禁用

image.png

RDB优化参数

image.png

image.png

image.png

image.png

image.png

2、AOF

只记录写操作

image.png

image.png

AOF 持久化工作流程

image.png

AOF 缓冲区三种写回策略

always 同步写回,每个写命令执行完立刻同步地将日志写回磁盘

everysec (默认)每秒写回,每个写命令执行完,只是先把日志写到AOF缓冲区,每隔1s把缓存区地数据写入磁盘

no操作系统控制写回,只是将日志先写到AOF文件的内存缓冲区,由操作系统决定何时将缓冲区内容写回磁盘

image.png

AOF功能配置

image.png

image.pngimage.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

结果:当AOF文件破损后,redis启动都1启动不了

image.png

AOF文件异常修复

//命令:
redis-check-aof --fix appendonly.aof.1.incr.aof

image.png

AOF的优缺点

image.png

AOF重写机制

image.png

自动配置

  • 满足配置文件中的选项后,Redis会记录上次重写时地AOF大小
  • 默认配置是当AOF文件大小是上次rewrite后大小的一倍且文件大于64M时
  • image.png
  • image.png
  • 手动配置
  • 客户端向服务器发送 bgrewriteaof 命令
  • image.png
  • image.png
  • image.png

3、RDB+AOF混合

AOF默认是关闭的,当两者共存时,AOF的优先级高

image.png

同时开启两种持久化方式


当redis 重启时候会优先载入AOF文件来恢复原始的数据,因为在通常情况下AOF文件保存的数据集要比RDB文件保存的数据集要完整

RDB的数据不实时,同时使用两者时服务器重启也只会找AOF文件。

那要不要只使用AOF呢

安特雷兹建议不要

因为RDB更适合用于备份数据库(AOF不断变化不好备份),留着AOF作为一个万一的手段

image.png

4、纯缓存模式

同时关闭RDB + AOF


save “”

禁用rdb

禁用db持久化模式下,我们仍然可以使用命令save、bgsave生成rdb文件

appendonly no

禁用aof

禁用aof持久化模式下,我们仍然可以使用命令 bgrewriteaof生成aof文件


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4天前
|
NoSQL Redis 数据库
一文讲透彻Redis 持久化
一文讲透彻Redis 持久化
27 0
|
4天前
|
NoSQL Redis
03- Redis的数据持久化策略有哪些 ?
Redis的数据持久化包括两种策略:RDB(全量快照)和AOF(增量日志)。RDB在指定时间间隔将内存数据集保存到磁盘,而AOF记录所有写操作形成日志。从Redis 4.0开始,支持RDB和AOF的混合持久化,通过设置`aof-use-rdb-preamble yes`。
21 1
|
4天前
|
存储 NoSQL Redis
保障数据安全,提升性能:探秘Redis AOF持久化机制在在线购物网站的应用
保障数据安全,提升性能:探秘Redis AOF持久化机制在在线购物网站的应用
|
4天前
|
存储 监控 负载均衡
保证Redis的高可用性是一个涉及多个层面的任务,主要包括数据持久化、复制与故障转移、集群化部署等方面
【5月更文挑战第15天】保证Redis高可用性涉及数据持久化、复制与故障转移、集群化及优化策略。RDB和AOF是数据持久化方法,哨兵模式确保故障自动恢复。Redis Cluster实现分布式部署,提高负载均衡和容错性。其他措施包括身份认证、多线程、数据压缩和监控报警,以增强安全性和稳定性。通过综合配置与监控,可确保Redis服务的高效、可靠运行。
25 2
|
4天前
|
NoSQL 安全 Unix
Redis源码、面试指南(4)单机数据库、持久化、通知与订阅(中)
Redis源码、面试指南(4)单机数据库、持久化、通知与订阅
16 0
|
2天前
|
NoSQL 算法 Java
【redis源码学习】持久化机制,java程序员面试算法宝典pdf
【redis源码学习】持久化机制,java程序员面试算法宝典pdf
|
4天前
|
存储 NoSQL 关系型数据库
【Redis】Redis的特性和应用场景 · 数据类型 · 持久化 · 数据淘汰 · 事务 · 多机部署
【Redis】Redis的特性和应用场景 · 数据类型 · 持久化 · 数据淘汰 · 事务 · 多机部署
15 0
|
4天前
|
存储 NoSQL 调度
Redis源码、面试指南(4)单机数据库、持久化、通知与订阅(下)
Redis源码、面试指南(4)单机数据库、持久化、通知与订阅
10 0
|
4天前
|
存储 NoSQL API
Redis源码、面试指南(4)单机数据库、持久化、通知与订阅(上)
Redis源码、面试指南(4)单机数据库、持久化、通知与订阅
18 1
|
4天前
|
存储 NoSQL 算法
Redis持久化&Redis主从
Redis持久化&Redis主从
14 0