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数据持久化 -> 正文阅读

[大数据]Redis数据持久化



1.什么是数据持久化

Redis所有数据保存在内存中,如果不做任何持久化操作当Redis关闭时数据会丢失,数据持久化就是为了防止数据丢失,Redis会异步将数据保存在硬盘上。

在这里插入图片描述

2.数据持久化方式

  • RDB(快照方式)

在这里插入图片描述

  • AOF(写日志方式)

在这里插入图片描述

3.Redis数据持久化-RDB

Redis将数据已二进制形式保存到磁盘中,保存的文件后缀为rdb,下次启动的时候载入rdb文件恢复数据,从而实现持久化。

在这里插入图片描述

(1) 触发RDB的方式

  • 自动方式

通过在配置文件进行相关配置,Redis根据配置的情况进行自动持久化。

RDB的配置项信息:

在这里插入图片描述
进入到配置文件所在目录,并通过Vim命令进行编辑
在这里插入图片描述
RDB配置信息如下:
在这里插入图片描述
详细配置信息:

save 60 1
dbfilename dbdump.rdb
dir /usr/local/redis-6.0.6/
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes

备注:save 60 1 表示60s内有一个key变化就保存,这是一种策略,同时可以设置多个策略,如下:

在这里插入图片描述

启动Redis服务端:
在这里插入图片描述
通过RDM中在db2数据库添加一条key = Java value=best!的数据
在这里插入图片描述

在这里插入图片描述
我们会发现Redis目录下多了一个dbdump.rdb的文件

在这里插入图片描述
通过Vim 查看dbdump.rdb文件,会发现里面有数据,但是是乱码,可以理解因为Redis通过二进制进行保存
在这里插入图片描述
.
在这里插入图片描述
将Redis服务端关闭,然后再次启动观察数据是否依然存在:
在这里插入图片描述
我们会发现数据任然存在,数据持久化成功!
在这里插入图片描述

  • 手动方式

当要进行持久化的时候,输入save或bgsave命令进行持久化( 都是单线程阻塞,意思就是在执行保存的时候不能执行其他命令 ),save和bgsave命令本质上差不多,一个同步运行一个在异步运行,但都是单线程阻塞。

在这里插入图片描述
在这里插入图片描述

(2) RDB的缺点

在这里插入图片描述

4.Redis数据持久化-AOF

使用日志的方式追加保存我们每一步操作的命令到磁盘中,这里实际保存的格式并不是命令格式,而是一种特定的格式,文件后缀为AOF,数据恢复的时候将AOF文件载入。

(1) 日志追加- AOF

在这里插入图片描述

(2) 日志恢复

在这里插入图片描述

(3) AOF的追加(fsync)策略

appendfsync 追加策略(如:appendfsync everysec)

在这里插入图片描述

(4) AOF三种方式对比

在这里插入图片描述

(5) AOF重写

只关心最后的状态,保存当前最新状态所执行的命令,例如下表中的set hello world ,set hello java 和set hello hehe命令最后的状态为set hello hehe命令所执行的状态,所以这三条命令只保存set hello hehe命令,其他命令也是同样的道理,所以最后AOF重写后保存的命令为set hello hehe ,set counter 2 和rpush mylist a b c这三条命令。

在这里插入图片描述

(6) AOF的实现方式

  • 自动方式(使用AOF重写配置方式)

AOF重写配置选项如下:
在这里插入图片描述

先关闭Redis服务端:
在这里插入图片描述

然后通过vim命令编辑Redis的配置文件,新增Aof的配置:
在这里插入图片描述
详细配置信息:

appendonly yes
appendfilename aof-6666.aof
appendfsync everysec
no-appendfsync-on-rewrite yes
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

再次启动Redis服务端:
在这里插入图片描述
通过RDM添加往数据库2添加一条数据key=PHP value=Java
在这里插入图片描述
我们会发现Redis目录下多了一个aof-6666.aof的文件
在这里插入图片描述
我们通过vim命令查看该文件:
在这里插入图片描述

关于rewrite说明
在这里插入图片描述

  • 手动方式(使用bgrewriteaof命令方式)

在这里插入图片描述

5.RDB与AOF的选择

( AOF的加载优先级相较于RDB更高 )
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-20 23:03:25  更:2022-06-20 23:04:55 
 
开发: 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年5日历 -2024/5/19 22:19:25-

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