大厂面试之【Redis持久化机制】 - RDB和AOF概述及应用配置

文章目录

  • Redis持久化
    • 1. RDB(Redis DataBase)
      • 1.1 概述
      • 1.2 配置应用
    • 2. AOF(Append Only File)
      • 2.1 概述
      • 2.2 配置应用

Redis持久化


先上结论:Redis持久化操作分为rdb以及aof,但是前者已经够用


1. RDB(Redis DataBase)


1.1 概述


  1. rdb保存的是dump.rdb文件
  2. 在指定的时间间隔内将内存中的数据集快照写入磁盘,类似于Snapshot快照
  3. 恢复时是将快照文件直接读到内存里
  4. redis.conf的快照配置中设置了save保存机制之后,可以设置持久化,一般来说conf配置文件不需要进行修改

其原理在主进程的运行过程中,创建一个子进程。子进程会先将所有的数据写入到一个临时文件中,等持久化结束,再用这个临时文件替换上次持久化的文件。在整个过程中,主进程是不进行任何的读写操作,确保了性能。

1.2 配置应用


编辑配置文件redis.conf,找到SNAPSHOTTING关键字,写入我们自己的值

在这里插入图片描述

其上的修改字段表示多少秒内,有多少个key进行了修改,会触发保存机制

# 900秒内,有1个key进行了修改,将触发保存机制
save 900 1

设置持久化文件的名称以及设置持久化文件的路径位置。这里千万要注意,得赋予这个对应的文件夹写入权限,例如chomod -R 777 /usr/local/bin/myRedisDump

在这里插入图片描述

此后,我们每次触发一次保存机制,相应的文件就会存储在该文件夹下

在这里插入图片描述

触发机制

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

如何恢复rdb文件

首先查看我们存在的目录位置

config get dir

在这里插入图片描述

rdb文件放在所示目录下即可,redis启动会自动监测该数据文件并且恢复

优缺点

优点:

  1. 适合大规模的数据恢复
  2. 对数据的完整性要不高

缺点:

  1. 需要一定的时间间隔进程操作,如果意外宕机了,这个最后一次修改数据就没有的了
  2. 开启子进程的时候,会占用一定的内容空间

2. AOF(Append Only File)


2.1 概述


  1. aof保存的是appendonly.aof文件
  2. 将所有命令记录下来,恢复的时候直接全部重新执行,默认关闭该模式
  3. 以日志的形式来记录每个写操作,将Redis执行过的所有指令记录下来(读操作不记录),只许追加文件,但不可以改写文件,redis启动之初会读取该文件重新构建数据
  4. redis重启就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作

2.2 配置应用


编辑配置文件redis.conf,找到APPEND ONLY MODE关键字,将其改为yes即可

在这里插入图片描述

修复

如果生成的aof配置文件有错,redis无法正常启动,可以利用自带的修复软件

在这里插入图片描述

redis-check-aof --fix appendonly.aof

优缺点

优点:

  1. 每一次修改都同步,文件的完整性更好
  2. 从不同步,效率最高

缺点

  1. 相对文件数据来说,修复速度较慢
  2. 运行效率较慢,远远不如rdb

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/792433.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WEB漏洞挖掘详细教程--用户输入合规性(sql注入测试)

前置教程:WEB漏洞挖掘(SRC)详细教程--信息收集篇-CSDN博客 WEB漏洞挖掘(SRC)详细教程--身份认证与业务一致性-CSDN博客 WEB漏洞挖掘(SRC)详细教程--业务数据篡改-CSDN博客 2.4 用户输入合规性…

方差分析注意事项

进行方差分析时,有一些注意事项需要注意: 1. 数据的正态性:方差分析对数据的正态性有要求,确保数据符合正态分布是进行方差分析的前提之一。 2. 方差齐性:方差分析要求各组数据的方差相等,即方差齐性。可…

MCRNet:用于乳腺超声成像语义分割的多级上下文细化网络

这里写目录标题 摘要引言方法 摘要 由于对比度差、目标边界模糊和大量阴影的不利影响,乳腺超声成像中的自动语义分割仍然是一项具有挑战性的任务。最近,具有U形的卷积神经网络(CNN)在医学图像分割中表现出相当好的性能。然而&…

【C++ STL迭代器】iterator

文章目录 【 1. 迭代器的属性 】【 2. 不同容器支持的迭代器 】【 3. 迭代器的定义方式 】【 4. 实例 】4.1 定义方式:正向迭代器和反向迭代器4.2 迭代器属性:前向迭代、双向迭代、随机迭代4.2 迭代器的遍历方法4.3 auto关键字 自动指定迭代器定义类型 背…

C++内存池

原理就是一个内存池内部拥有的空间为POOL_SIZE个自己。 #include<iostream>using namespace std;class DemoClass{ public:DemoClass() default;DemoClass(int i):data(i){}static void * operator new(size_t size);static void operator delete(void * p);virtual ~D…

【Qt】:常用控件(四:显示类控件)

常用控件 一.Lable二.LCD Number 一.Lable QLabel 可以⽤来显⽰⽂本和图⽚. 代码⽰例:显⽰不同格式的⽂本 代码⽰例:显⽰图⽚ 此时,如果拖动窗⼝⼤⼩,可以看到图⽚并不会随着窗⼝⼤⼩的改变⽽同步变化 为了解决这个问题,可以在Widget中重写resizeEvent函数。当用户把窗口从A拖…

点云的Python均值采样

一、代码 Python import numpy as np import open3d as o3ddef mean_sampling(point_cloud, num_samples=None, depth=None, method=knn, k=10):"""对点云进行均值下采样。:param point_cloud: Open3D PointCloud对象:param num_samples: (仅当method=knn时使…

机器学习——典型的卷积神经网络

机器学习——典型的卷积神经网络 卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;CNNs&#xff09;是一类在图像处理领域应用广泛的深度学习模型。它通过卷积操作和池化操作来提取图像的特征&#xff0c;并通过全连接层来进行分类或回归任务。在本文中&am…

开源项目-CSDN专栏

CSDN博主 单片机 毕业设计 物联网 嵌入式

基于单片机双路压力监测报警系统

**单片机设计介绍&#xff0c;基于单片机双路压力监测报警系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机双路压力监测报警系统是一个专门设计用于实时监测和报警两路压力变化的系统。它结合了单片机控制技术和压…

图DP

目录 有向无环图DP 力扣 329. 矩阵中的最长递增路径 力扣 2192. 有向无环图中一个节点的所有祖先 有向有环图DP 力扣 1306. 跳跃游戏 III 有向无环图DP 力扣 329. 矩阵中的最长递增路径 给定一个 m x n 整数矩阵 matrix &#xff0c;找出其中 最长递增路径 的长度。 对…

【DA-CLIP】test.py解读,调用DA-CLIP和IRSDE模型复原计算复原图与GT图SSIM、PSNR、LPIPS

文件路径daclip-uir-main/universal-image-restoration/config/daclip-sde/test.py 代码有部分修改 导包 import argparse import logging import os.path import sys import time from collections import OrderedDict import torchvision.utils as tvutilsimport numpy as…

数学知识--(质数,约数)

本文用于个人算法竞赛学习&#xff0c;仅供参考 目录 一.质数的判定 二.分解质因数 三.质数筛 1.朴素筛法 2.埃氏筛法 3.线性筛法 四.约数 1.求一个数的所有约数 2.约数个数和约数之和 3.欧几里得算法&#xff08;辗转相除法&#xff09;-- 求最大公约数 一.质数的判定 …

新型智慧城市大数据解决方案(附下载)

随着云计算、大数据、移动互联网等技术的发展&#xff0c;由城市运行产生的交通、环境、市政、商业等各领域数据量巨大&#xff0c;这些数据经过合理的分析挖掘可产生大量传统数据不能反映的城市运行信息&#xff0c;已成为智慧城市的重要资产。 在大数据时代&#xff0c;数据信…

理解main方法的语法

由于JVM需要调用类的main()方法&#xff0c;所以该方法的访问权限必须是public&#xff0c;又因为JVM在执行main()方法时不必创建对象&#xff0c;所以该方法必须是static的&#xff0c;该方法接收一个String类型的数组参数&#xff0c;该数组中保存执行Java命令时传递给所运行…

问题解决:写CSDN博文时图片大小不适应,不清晰,没法排版

项目环境&#xff1a; Window10&#xff0c;Edge123.0.2420.65 问题描述&#xff1a; 当我在CSDN写博文的时候&#xff0c;会经常插入一些图片&#xff0c;但有时候我插入的图片太大了&#xff0c;影响了整体排版。 比如我加入了一张图片&#xff0c;就变成了下面这个样子&…

释放 ChatGPT4 的威力

原文&#xff1a;Unleashing the Power of ChatGPT-4: Strategies for Building a Personal Income Stream 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 I. 介绍 在当今快速发展的数字领域中&#xff0c;人工智能&#xff08;AI&#xff09;已经成为无数行业的重要…

Kubernetes探索-Deployment面试

1. 简述Deployment的升级策略 在Deployment的定义中&#xff0c;可以通过spec.strategy指定Pod更新的策略&#xff0c;目前支持两种策略&#xff1a;Recreate&#xff08;重建&#xff09;和RollingUpdate&#xff08;滚动更新&#xff09;&#xff0c;默认值为RollingUpdate。…

PEFT-LISA

LISA是LoRA的简化版&#xff0c;但其抓住了LoRA微调的核心&#xff0c;即LoRA侧重更新LLM的底层embedding和顶层head。 根据上述现象&#xff0c;LISA提出两点改进&#xff1a; 始终更新LLM的底层embedding和顶层head随机更新中间层的hidden state 实验结果 显存占用 毕竟模型…

RAMS (Mesoscale Model System) 和 WRF 区别

历史和发展&#xff1a; RAMS&#xff1a;RAMS 最早于1970年代由美国科罗拉多州立大学开发&#xff0c;并在之后几十年不断发展壮大。它是最早用于模拟地区尺度大气动力学、热力学和降水过程的模型之一。WRF&#xff1a;WRF 是由美国国家大气研究中心&#xff08;NCAR&#xff…