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持久化

为什么要持久化?

redis 是内存数据库 如果不将内存中的数据库状态保存到磁盘中 那么一旦服务器中的数据库状态也会消失 所有redis 提供了持久化功能

RDB(redis database)

在指定的间隔时间内 将内存中数据集快照写入磁盘 也就是Snapshot快照 恢复时 是将快照文件直接读到内存中

redis会单独创建
一子进程来进行持久化:
一个子进程来进行持久化
会先将数据写入到一个临时文件中
待持久化过程都结束了
再用这个临时文件替换上次持久化的文件
主进程不进行任何io持久化操作
这就确保了极高的性能 如果需要进行大规模数据的恢复
且对于数据恢复的完整性不死非常明年 RDB要方式要比AOF方式更加高效

RDB的缺点是

最后一次持久化后的数据可能会丢失最后一次数据

我们默认的持久化是RDB 一般不需要修改这个配置
RDB保存的文件是 dump.rdb
都是在我们的redis,conf

触发机制生成dump.rdb

1、save 的规则满足的情况下 会自动触发rdb规则
2、执行flushall命令,也会触发我们的rdb规则
3、推出redis 也会产生rdb文件

如何恢复rdb文件

1、只需要将rdb文件放在我们的redis 启动目录 就可以
redis启动的时候就会自动检查dump.rdb文件 恢复其中的数据
2、查看需要存在的位置 使用
在这里插入图片描述
如果在这个目录下存在dump.rdb文件 启动就会自动恢复其中的数据

几乎就是他自己的默认的配置就够用了 但是我们还是要去学习

优点:
1、适合大规模的数据恢复! dump.rdb
2、如果对数据的完整性要求不高
缺点:
1、需要一定的时间间隔进行操作 如果rredis 意外宕机 这个最后一次 修改就没有的了
2、fork进程的时候 会占用内存空间

AOF(Append Only File)

将我们的所有命令都记录下来 history 恢复的时候就把这个文件全部执行一遍

以日志的形式来记录每个写的操作 将redis执行过的所有指令记录下来 只许追加文件但不可以改写文件
redis启动之初会读取该文件重新构建数据 redis重启的话 会根据日志文件的内容跟将写指令从前到后执行
一次以完成数据的恢复工作请添加图片描述
默认是不开启的,我们需要手动进行配置 我们只需要将appendonly 改为yes 就开启了 AOF

重启Redis就生效了
如果aof文件有错位 这时候 redis 就是启动不起来我们要修复这个配置文件 aof文件
redis 提供了一个工具 redis-check-aof --fix

优点

1、每一次修改都同步文件的完整性更加好
2、每秒同步 可能会丢失一秒的数据
3、从不同步效率最高的

缺点

1、相对与数据文件来说 aof远远大于rdb,修复的速度也比rdb慢

RDB和AOF的实际应用

在主从复制中rdb 就是备用 在从机上面进程备份

扩展:1、RDB持久化 方式能够在指定的时间间隔内对数据进行快照存储
2、AOF持久化方式记录每次对服务器进行写的操作当服务器重启的时候会重新开始执行这些命令来恢复原始的数据 AOF命令以redis协议追加到保存每次写的操作 redis还能对aof文件进行后台重写 使AOF文件不至于过大
3、只做缓存 如果只希望数据在服务器运行的时候在 也可以不使用持久化

  大数据 最新文章
实现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:51:34 
 
开发: 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:46:52-

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