IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis持久化(RDB、AOF) -> 正文阅读

[大数据]Redis持久化(RDB、AOF)

? ? ? ? 持久化,就是把存储在内存中的数据,以文件的形式存储到磁盘上。Redis数据库作为内存数据,肯定要考虑到数据持久化的问题。

? ? ? ? Redis提供了两种持久化的方案,一种是文件快照(RDB)方式;一种是过程日志(AOF),将每一步执行的操作保存下来。

? ? ? ? 下面将讲述RDB和AOF两种持久化方案的执行方法,以及各自的优缺点。

? ? ? ? 在将持久化内容之前,需要说明下备份文件的目录选择,目录需要有写权限,备份文件的目录可以在redis.conf配置文件中修改

一、RDB

? ? ? ? RDB是以文件快照的方式存储数据,Redis提供了两个命令可以执行RDB方式的数据持久化,save命令和bgsave命令。

1.1 save命令

? ? ? ? ?使用save命令,就可以实现RDB的操作,在redis客户端执行。

? ? ? ? 在指定的保存目录下,如上面截图,/home/redis/,会有备份的文件

?1.2?bgsave命令

? ? ? ? save命令有其致命的缺陷:由于redis是单线程的,save命令的执行会阻塞当前redis的服务器,如果save命令执行时间比较长,后面的命令都需要等待,所以线上环境不建议使用save命令。取而代之的是bgsave命令。

? ? ? ? bgsave命令,也是保存数据到磁盘的操作,但不是立即执行,而是另启动一个线程来执行

? ? ? ? 当执行bgsave命令后,Redis会生成一个子线程去执行保存操作,Redis内部的所有RDB操作都是使用bgsave命令。

? ? ? ? 最后简单介绍下RDB操作在配置文件redis.conf中相关的配置参数?

dbfilename dump.rdb   文件名
dir ./                文件的保存路径,默认./
rdbcompression yes    存储至本地时是否压缩数据,默认开启
rdbchecksum yes       是否进行RDB文件格式校验,默认开启
save second changes   在second时间内发生了changes次变化就执行持久化 如:save 900 1,通常配置文件中会设置多个持久化规则

1.3 RDB的优缺点

? ? ? ? 有点:

  • RDB是紧凑压缩的二进制文件,存储效率高
  • RDB存储的是某个时间点内的数据快照,适用于数据备份、全量复制等场景
  • RDB数据恢复速度要快于AOF

? ? ? ? 缺点:

  • RDB无法做到实时的持久化
  • bgsave运行需要启动一个子线程,损耗部分性能
  • RDB可能会存在不同版本redis冲突的问题

二、AOF

? ? ? ? AOF方式持久化数据,是以保存过程操作日志的方式保存每次的命令操作,保证数据持久化的实时性。

? ? ? ? ?对于AOF何时将缓存中的命令操作放到硬盘文件,即上图第三步,AOF提供了三个策略:

  • always(每次):数据零误差,性能低
  • everysec(每秒):准确性高,性能较高
  • no(系统控制):不可控

2.1 开启AOF

? ? ? ? 配置文件中appendonly属性修改为yes,默认为no

? ? ? ? 配置文件中可以看到AOF默认的同步磁盘文件,使用的everysec,每秒写一次缓存到文件。

?

2.2 AOF重写?

? ? ? ? 了解下概念就可以了,随着命令不断写入AOF,文件会越来越大,为了解决这个问题,Redis引入了AOF重写机制压缩文件体积。AOF文件重写是将Redis进程内的数据转化为写命令同步到新AOF文件的过程。简单说就是将对同一个数据的若干个条命令执行结果转化成最终结果数据对应的指令进行记录

? ? ? ? 重写的两种方式,手动重写和自动重写

? ? ? ? 手动重写

bgrewriteaof

? ? ? ? 自动重写,在配置文件中配置触发重写的条件。

#当前的size和设定的size作比较,当前size大于设定size就执行重写
auto-aof-rewrite-min-size size
#按设定的百分比作比较,(当前的size-aof_base_size)/ aof_base_size的值大于百分比就执行重写
auto-aof-rewrite-percentage percent

2.3 AOF的优缺点

? ? ? ? 优点:

  • 每次修改都会同步,文件的完整性比较好
  • 每秒同步一次,仅可能后丢失一秒数据

? ? ? ? 缺点:

  • aof的持久化的数据文件,相比较rdb方式来说,会大很多,修复的速度也会慢很多
  • aof的运行效率也要比rdb慢

综述:redis默认的持久化方式是RDB方式。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-09 11:50:45  更:2021-09-09 11:52:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:45:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码