首页 > 数据库 >redis学习3linux--黑马

redis学习3linux--黑马

时间:2023-05-20 22:34:03浏览次数:36  
标签:AOF -- bgsave redis 3linux 命令 save 数据

持久化

RDB

save

bgsave

  • 工作原理
    bgsave->发送指令到redis,redis返回Background saving started给客户端,然后调用fork函数生成子进程,子进程创建rdb文件,成功后返回消息给redis,可通过日志文件查看
  • bgsave命令时针对save阻塞问题的优化。Reids内部所有涉及到RDB操作都采用bgsave的方式,save命令可放弃使用

问题

可能会忘记执行保存命令,因为不知道数据产生了多少变化,不知道何时保存数据

解决

自动执行
save second changes

  • 作用
    满足限定时间范围内key的变化数量达到指定数量即进行持久化
  • 参数
    second:监控时间范围
    changes:监控key的变化量
  • 位置
    conf配置文件

AOF

RDB存储的弊端

  • 存储量大时效率低,io性能低
  • 基于fork创建子进程,内存产生额外消耗
  • 宕机带来的数据丢失的风险

AOF概念

  • 以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中命令达到恢复数据的目的
  • AOF主要解决了数据持久化的实时性

AOF写数据三种策略

  • always
    每次写入操作均同步到AOF文件中,数据零误差,性能较低,不建议使用
  • everysec
    每秒将缓冲区中的指令同步到AOF文件中,数据准确性较高性能较高,在系统宕机的情况下丢失1秒的数据
  • no
    由操作系统控制每次同步到AOF文件的周期,整体过程不可控

AOF功能启动

  • 配置
    appendonly yes|no
    appendfsync always|everysec|no

AOF重写

将同一个数据的若干条命令执行结果转化成最终结果数据对应的指令进行记录

  • 作用
    降低磁盘占用量,提高磁盘利用率
    提高持久化效率,降低持久化写时间,提高io性能
    降低数据恢复勇士,提高数据恢复效率
  • 重写方式
    手动重写:bgrewriteaof
    自动重写:auto-aof-rewrite-min-size size/auto-aof-rewrite-percentage percentage

事务

一个队列中一次性、顺序性、排他性地执行一系列命令

标签:AOF,--,bgsave,redis,3linux,命令,save,数据
From: https://www.cnblogs.com/CAI-STUDY/p/17417926.html

相关文章

  • 【CF1833D】题解
    本文章同步发表于洛谷思路这是一道水题,但细节很多......首先,要求字典序最大,显然就想到了让最大的数字在第一位。于是就进一步得出了应该让最大数字在翻转区间的后一位,初步得出了以下思路:找到最大的数(\(n\))所在位置\(r\),将\(r-1\);贪心的寻找\(r-1\)以前第一个比\(p_1\)......
  • delphi cxgrid截图
    效果图: 点击GetImage,会在程序目录下生成一个表格截图的图片文件,打开后如下图:以下是代码:procedureTForm4.SpeedButton1Click(Sender:TObject);vargridView:TcxGridDBTableView;focusedItem:TcxCustomGridTableItem;focusedRect:TRect;aBitmap:TBitm......
  • 练习
    #include<iostream>usingnamespacestd;classcube{private: intlengh; intwidth;public: intgeta(); voidget(inta,intb) { lengh=a; width=b; } voidshow() { cout<<lengh*width<<endl; }};intmain(){ cubec1; c1.get(4,5); c1.show();}类外调......
  • 确认架构规划完整性的八个关注点
    通过架构规划中的确认环节来控制风险与保障交付,就是在这个环节的核心关注点。具体而言,规划确认包含八个部分。1、定稿架构规划文档在定稿的过程中,你可能会和不同团队、企业外部专家产生诸多交互。这个时候你就需要与执行者确定规划内容。因为之前的收集主要是作为规划的输入,而不是......
  • JWT 安全性总结
    一、JWT介绍    JWT全称为JsonWebToken,简单理解为用于在客户端和服务端通过Json格式传递鉴权信息,其与Session所不同的是,JWT不需要存储在服务端,而是每次请求时客户端都会携带JWT到服务端,服务端经过计算验证,确定该JWT信息是否是合法的,从而进行鉴权。JWT是一串BASE64编码,通过......
  • pyarmor的使用
    官方文档作用:用于python脚本的加密切换到虚拟环境python3.x下(这里是用的3.6,个人开发环境下推荐使用miniconda3来实现虚拟环境管理)这里演示的脚本叫diff_demo.py,用于比较old和new这2个文件的差异1原始文件和目录如下:tree.├──diff_demo.py├──new└──oldpip......
  • 实现 React 简易版 createElement 和 render 方法
    前言在React中,我们都知道可以写jsx代码会被编译成真正的DOM插入到要显示的页面上。这具体是怎么实现的,今天我们就自己动手做一下。实现createElement方法这个方法平时开发我们并不会用到,因为它是经babel编译后的代码,我们新建一个React项目,index.js最简单的代码结构如......
  • 平衡
    六个月的实习期三个月提前转正了,算是最近一段时间的好消息?“该好一点了吧?”的意思是,我还没那么好工作比之前忙了点,但还算蛮开心的,做的是自己喜欢的事。但槽点也很多,被莫名的以为是有erp经验的,上来第二个月就开始做比较复杂的需求。本来想做完这个需求从头到位的复盘一下,但是太忙......
  • 智能指针学习
    c++的抛异常解决了返回错误码与函数层层返回的问题,但是异常往往可能有很多种,也有可能前面开辟了很多个空间,之后随着抛异常,这些空间都等着释放,这就太麻烦了,有可能会在写代码的时候疏忽忘记了释放这块空间造成内存泄漏,所以智能指针可以很好的处理这种情况,我们知道c++中的类......
  • [Linux]香橙派orangepi下ubuntu SSH安装步骤详解
    Linux下SSH安装步骤详解(linux中ssh安装)SSH(SecureShell)是一种加密的工具,可以安全地在网上进行数据交换,是远程安全服务器登录等功能建立在现有网络环境中的一种基本安全协议。本文介绍在Linux系统中安装SSH的方法,以Ubuntu18.04为例。一、安装openssh-server我们首先要安装openss......