Redis持久化

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

RDB

概述

RDB持久化支持手工执行和服务器定期执行,RDB持久化产生的文件是一个经过压缩的二进制文件,对应文件为dump.rdb,因为它保存在磁盘上,所以可以用它来还原数据库中的数据。

手工执行RDB保存有两个命令:SAVE命令和BGSAVE命令。

SAVE命令会阻塞Redis服务器进程,直到RDB文件生成完毕,都会一直处于阻塞状态,不能处理任何的Redis命令请求;BGSAVE命令会fork一个子进程来生成RDB文件,Redis服务器进程不受影响,可以继续处理命令请求。

当服务器启动的时候,RDB自动执行加载,没有专门的命令来加载RDB文件。只要Redis启动时检测到RDB文件的存在,那么就会自动载入RDB文件。记载过程中,会一直处于阻塞状态,知道加载完毕为止。由于AOF文件的更新频率一般比RDB文件的更新频率高,所以,如果服务器开启了AOF持久化功能,那么优先加载AOF文件,否则加载RDB文件。

执行条件

BGSAVE执行条件检测器--serverCron

       1.serverCron默认每100毫秒执行一次条件验证,如果符合保存条件,则执行BGSAVE命令。

       2.通过dirty和lastsave(间隔时间 = 当前时间 - lastsave时间)这两个参数,来判断是否执行BGSAVE命令。

AOF

概述

AOF(Append Only File)持久化,它是通过保存Redis执行命令来记录数据库数据变更。持久化流程如下:

       客户端 --发送写指令--> Redis服务器 --保存被执行的写命令--> AOF文件

开启AOF和配置AOF路径--redis.conf文件:

       appendonly yes        //默认为no打开为yes

       appendfilename "appendonly.aof"        //配置路径为当前目录下appendonly.aof

AOF持久化分为三步:命令追加 --> 文件写入 --> 文件同步

如果打开AOF后,每次执行完一个写命令之后,都会把写命令以请求协议格式保存到aof_buf缓冲区的末尾。

AOF记载流程
AOF载入流程.png

Fack Client(伪客户端) 的执行命令效果与带网络的效果完全一样。由于载入AOF时,命令来源于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
目录
相关文章
|
26天前
|
监控 NoSQL Linux
【分布式】Redis的持久化方案解析
【1月更文挑战第25天】【分布式】Redis的持久化方案解析
|
1月前
|
存储 NoSQL 安全
Redis持久化原理以及配置
Redis持久化原理以及配置
71 0
|
1月前
|
NoSQL 关系型数据库 MySQL
Redis持久化机制 RDB 和 AOF 的选择
Redis持久化机制 RDB 和 AOF 的选择
43 0
|
6天前
|
存储 NoSQL Redis
Redis淘汰策略、持久化、主从同步与对象模型
Redis淘汰策略、持久化、主从同步与对象模型
67 0
|
19天前
|
NoSQL Redis 数据库
Redis的安全网:掌握RDB和AOF的持久化技术【redis第四部分】
Redis的安全网:掌握RDB和AOF的持久化技术【redis第四部分】
63 0
|
20天前
|
NoSQL Redis
spring-state-machine使用redis持久化
spring-state-machine使用redis持久化
7 0
|
28天前
|
缓存 移动开发 NoSQL
Redis持久化——AOF机制详解
Redis提供了RDB和AOF的持久化选项。本文主要介绍AOF的核心概念、同步步骤、保存模式、AOF重写详解及AOF的优缺点,还介绍了RDB和AOF混合方式的运行机制。AOF(Append Only File):以协议文本的方式,将所有对数据库进行过写入的命令(及其参数)记录到 AOF 文件,以此达到记录数据库状态的目的
|
28天前
|
存储 NoSQL 算法
Redis持久化——RDB机制详解
Redis提供了RDB和AOF的持久化选项。本文主要介绍RDB的核心概念、触发方式、文件结构及优缺点。RDB(Redis DataBase) ,意为快照/内存快照,RDB持久化是把当前进程数据生成快照保存到磁盘上的过程
|
1月前
|
存储 缓存 NoSQL
Redis 数据结构+线程模型+持久化+内存淘汰+分布式
Redis 数据结构+线程模型+持久化+内存淘汰+分布式
299 0
|
1月前
|
缓存 NoSQL 安全
深入理解Redis的持久化
深入理解Redis的持久化
31 0

热门文章

最新文章