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是一款C语言编写,类似键值对Key-Value的NoSQL非关系型数据库。它的工作区域是我们计算机的内存中,那么它也面临着和内存一样的困扰,断电即消失,不能长久存储。针对这个问题,Redis提出了两套解决方案。下面我们就来介绍这两种解决方案。

2.持久化方式


? ? ?2.1 RDB

Redis Database
????????内存数据镜像,把内存所有数据拍一个快照,把数据全部保存到一个二进制的磁盘文件:dump.rdb? 中。这个就可以理解成我们常说的备份,Redis会在一定时间内去备份所有的缓存中的数据,这个时间我们可以通过redis.conf中添加配置,也就是说,当多少秒内有多少条数据改动时才会去触发一次Redis持久化操作。例如:?

-save 3600 1:1小时内,有一条数据改动
-save 300 100:5分钟内,有100条数据改动
-save 60 10000:1分钟,有10000条数据改动


? ? ??
默认不自动保存内存快照,需要手动调用:
-?save????????????同步保存
-?bgsave????????异步保存

Redis借助了linux系统的写时复制(Copy-On-Write)技术,在生成快照的同时,仍然可以接收命令处理数据。写时复制:
-??保存快照时,先写到临时文件,完成后删除dump.rdb,把临时文件盖明成 dump.rdb
-?临时文件写入失败数据损坏,也不会影响dump.rdb

dump.rdb文件修复:

redis-check-rdb dump.rdb

RDB的优缺点:
??????? 优点: 恢复数据速度快
? ? ? ? 缺点:??-?可能丢失少量新数据? ? ? ???-?持久化时存储数据效率低

????2.2 AOF

AOF - Append Only File

AOF的持久化方式就是记录所有Redis数据操作指令,每执行一条增删改的命令,都会实时地追加到 aof 日志文件。
默认不开启AOF,需要在配置文件中开启AOF:

appendonly yes		#默认是no

时间方面的设置

appendfsync参数,三个取值:

always: 每个事件周期都同步刷新一次
everysec: 每一秒都同步刷新一次
no: 我只管写,让操作系统自己决定什么时候真正写入吧

AOF的优缺点:

-?优点? ? ?-?持久化效率高? ? ? ? ? -?不会丢失数据
-?缺点? -?恢复数据时效率低? ? ? ??? -?aof中记录的所有命令进行重放,效率低

随着运行时间变长,AOF这个备份文件会越来越大,非常占空间,所以就引出了重写的机制。

rewrite压缩:

对文件中记录的指令,能合并的指令合并成一条执行。

-?文件大小达到min-size时触发,每增长100%时再次触发

??auto-aof-rewrite-percentage 100
??auto-aof-rewrite-min-size 64mb
?

3.?官方建议使用 RDB+AOF 混合模式

存储:

-?RDB完整存储内存数据
-?RDB之后的增量数据,使用AOF来记录

恢复:

-?从RDB恢复绝大多数数据
-?重放AOF,恢复少量增量数据?


?



?

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

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