当前位置: 首页 > news >正文

极客时间《Redis核心技术与实战》开篇词 知识点总结

Redis 主要的数据持久化方式

RDB(Redis Database Backup file)

RDB 是 Redis 提供的一种数据快照持久化方式,它会在指定的时间间隔内生成数据集的时间点快照,并将这些快照保存到磁盘上的一个 RDB 文件中。RDB 文件是一个压缩的二进制文件,它包含了 Redis 在某个时间点上的数据。

RDB 的特点

  1. 数据完整性:RDB 文件包含了 Redis 数据库中的所有数据,可以用来进行数据备份和灾难恢复
  2. 性能影响小:RDB 持久化是在后台进行的,使用子进程来完成数据的写入操作,对主进程的性能影响较小。
  3. 恢复速度快:RDB 文件是二进制文件,启动时加载速度较快。
  4. 数据可能丢失:如果 Redis 服务在两次快照之间发生故障,那么这段时间内的数据变更将会丢失。

AOF(Append Only File)

AOF 是 Redis 提供的另一种持久化方式,它通过记录每次写操作命令来记录数据库状态。AOF 文件是一个只追加的日志文件,每次对 Redis 数据库的写操作都会被追加到 AOF 文件中。

AOF 的特点

  1. 数据安全性高:AOF 可以配置为每次写操作后都同步到磁盘,这样可以保证数据的安全性,但可能会影响性能。
  2. 数据恢复:AOF 文件可以用于数据恢复,因为它记录了所有的写操作命令。
  3. 文件体积大:由于 AOF 记录了所有写操作命令,文件可能会变得非常大。
  4. 数据恢复速度慢:由于 AOF 文件包含了所有的写操作命令,数据恢复时需要逐条命令执行,这可能会比 RDB 恢复慢。
  5. 可配置的同步频率:AOF 可以配置为每秒、每次写操作或不同步,以平衡数据安全性和性能。

选择 RDB 还是 AOF

选择 RDB 还是 AOF 取决于具体的应用场景和需求:

  • 如果数据的完整性和一致性非常重要,且可以容忍短时间内的数据丢失,可以选择 RDB。
  • 如果需要更细粒度的数据恢复,或者数据安全性要求较高,可以选择 AOF。
  • 在实际应用中,也可以同时开启 RDB 和 AOF,这样可以结合两者的优点,既保证了数据的安全性,也提高了数据恢复的速度。

Redis 4.0 以后,还引入了混合持久化功能,它结合了 RDB 和 AOF 的优点,先记录 RDB 快照,然后记录 AOF 增量命令,这样可以在保证数据安全性的同时,提高数据恢复的速度。

存在的问题

在高并发场景里,会直接带来两个新问题:一个是写 AOF 和 RDB 会造成 Redis 性能抖动,另一个是 Redis 集群数据同步和实例恢复时,读 RDB 比较慢,限制了同步和恢复速度。

相关文章:

极客时间《Redis核心技术与实战》开篇词 知识点总结

Redis 主要的数据持久化方式 RDB(Redis Database Backup file) RDB 是 Redis 提供的一种数据快照持久化方式,它会在指定的时间间隔内生成数据集的时间点快照,并将这些快照保存到磁盘上的一个 RDB 文件中。RDB 文件是一个压缩的二…...

TCP并发服务器

端口号快速复用函数 通过getsockopt和setsockopt函数,管理套接字的端口号复用设置。具体操作如下: getsockopt函数 int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);功能:获取套接字的某些选项的属性。…...

Debug-031-近期功能实现小结

由于时间原因,没办法对每个小的功能点进行比较细致的总结,这里统一去记录一下最近的实现了的功能,算是存档备份,为今后开发带来便利和参考。 一、ACEeditor ACEeditor使用手册(一)_ace editor-CSDN博客 AC…...

Consumer Group

不,kafka-consumer-groups.sh 脚本本身并不用于创建 Consumer Group。它主要用于管理和查看 Consumer Group 的状态和详情,比如列出所有的 Consumer Group、查看特定 Consumer Group 的详情、删除 Consumer Group 等。 Consumer Group 是由 Kafka 消费者…...

.NET架构师学习大纲

目录 微服务 Consul Ocelot Polly Skywalking Exceptionless Apollo Jenkins Docker Kubernetes DDD领域驱动设计 DevOps CDN Nginx 应用服务器集群 数据库高可用 异步化架构 Azure前沿技术 工具排查 O/RM-EFCore IOC&AOP Core WebApi WebServer 数…...

【代码随想录】贪心

455. 分发饼干 题目 随想录 本质: 对于每个孩子,使用可以满足该孩子的最小的饼干。所以对孩子胃口和饼干进行sort排序,依次将大的饼干满足给孩子。 贪心策略: 想一下局部最优,想一下全局最优,如果局部最优…...

Harmony鸿蒙类似与Android中broadcast广播的api使用及释义

EventHub模块提供了事件中心,提供订阅、取消订阅、触发事件的能力。 这里需要注意,该模块接口仅可在Stage模型下使用。且Api>9 EventHub.on on(event: string, callback: Function): void; 订阅指定事件。(接收广播) 参…...

openGauss 6.0.0主备部署(企业版)

openGauss 6.0.0主备部署(企业版) 文章目录 openGauss 6.0.0主备部署(企业版)一、环境准备1.操作系统环境2.修改主机名3.设置字符集编码4.修改openEuler默认yum源5.安装所需工具6.同步网络时间7.关闭防火墙 二、安装openGauss数据…...

【机器学习】聚类算法原理详解

聚类算法 性能度量: 外部指标 jaccard系数(简称JC)FM指数(简称FMI)Rand指数(简称RI) 内部指标 DB指数(简称DBI)Dunn指数(简称DI) 距离计算&am…...

Ubuntu20.04从零安装IsaacSim/IsaacLab

Ubuntu20.04从零安装IsaacSim/IsaacLab 电脑硬件配置:安装Isaac sim方案一:pip安装方案二:预构建二进制文件安装1、安装ominiverse2、在ominiverse中安装isaac sim,下载最新的4.2版本 安装Isaac Lab1、IsaacLab环境克隆2、创建con…...

基于Java Springboot大学校园旧物捐赠网站

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…...

【Java 集合】Collections 空列表细节处理

问题 如下代码&#xff0c;虽然定义为非空 NonNull&#xff0c;但依然会返回空对象&#xff0c;导致调用侧被检测为空引用。 实际上不是Collections的问题是三目运算符返回了null对象。 import java.util.Collections;NonNullprivate List<String> getInfo() {IccReco…...

大数据实验4-HBase

一、实验目的 阐述HBase在Hadoop体系结构中的角色&#xff1b;能够掌握HBase的安装和配置方法熟练使用HBase操作常用的Shell命令&#xff1b; 二、实验要求 学习HBase的安装步骤&#xff0c;并掌握HBase的基本操作命令的使用&#xff1b; 三、实验平台 操作系统&#xff1…...

deepin系统下载pnpm cnpm等报错

deepin系统下载pnpm cnpm等报错 npm ERR! request to https://registry.npm.taobao.org/pnpm failed, reason: certificate has expired 报错提示证书过期&#xff0c;执行以下命令 npm config set registry https://registry.npmmirror.com下载pnpm npm install pnpm -g查…...

#Js篇:JSON.stringify 和 JSON.parse用法和传参

JSON.stringify 和 JSON.parse 1. JSON.stringify JSON.stringify 方法将一个 JavaScript 对象或数组转换为 JSON 字符串。 基本用法 const obj { name: "Alice", age: 25 }; const jsonString JSON.stringify(obj); console.log(jsonString); // 输出: {"…...

c#通过网上AI大模型实现对话功能

目录 基础使用给大模型额外提供函数能力用Microsoft.Extensions.AI库实现用json格式回答 基础使用 https://siliconflow.cn/网站有些免费的大模型可以使用&#xff0c;去注册个账户&#xff0c;拿到apikey 引用 nuget Microsoft.Extensions.AI.OpenAI using Microsoft.Extensi…...

pymysql模块

1.pymysql基本使用 打开数据库连接,使用cursor()方法获取操作游标执行SQL语句 获取命令执行的查询结果 1.1 打开数据库连接 # 打开数据库连接 db pymysql.connect(host127.0.0.1,userroot,port3306,password"123",databasedb5) 1.2 使用cursor()方法获取操作游…...

WPF-模板和样式

在 WPF&#xff08;Windows Presentation Foundation&#xff09;中&#xff0c;模板是一种强大的机制&#xff0c;用于定义控件的外观。它允许你将控件的逻辑&#xff08;功能&#xff09;和外观&#xff08;UI&#xff09;分离开来。例如&#xff0c;一个按钮控件&#xff0c…...

网络编程 day1.2~day2——TCP和UDP的通信基础(TCP)

笔记脑图 作业&#xff1a; 1、将虚拟机调整到桥接模式联网。 2、TCP客户端服务器实现一遍。 服务器 #include <stdio.h> #include <string.h> #include <myhead.h> #define IP "192.168.60.44" #define PORT 6666 #define BACKLOG 20 int mai…...

element ui table 每行不同状态

table 每行定义值 tableData: [ { name: ,type:,location:, ziduan:,createtype:,ziduanvalue:,checkAll:true,checkedCities: [空, null, str随机, int随机],isIndeterminate: true,table_id:single,downloaddisabled:true,deldisabled:true} ], table c…...

2025届最火的五大降重复率神器推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 把AI生成内容的痕迹降下来&#xff0c;其关键在于回归自然表达&#xff0c;具体来说&#x…...

千问3.5-27B保姆级教程:从实例ID获取https访问地址的完整流程

千问3.5-27B保姆级教程&#xff1a;从实例ID获取https访问地址的完整流程 1. 前言&#xff1a;认识Qwen3.5-27B模型 Qwen3.5-27B是Qwen官方发布的视觉多模态理解模型&#xff0c;它不仅能够进行文本对话&#xff0c;还能理解图片内容。这个模型已经在4张RTX 4090 D 24GB显卡的…...

如何在10分钟内构建高质量AI语音克隆模型:Retrieval-based-Voice-Conversion-WebUI完全指南

如何在10分钟内构建高质量AI语音克隆模型&#xff1a;Retrieval-based-Voice-Conversion-WebUI完全指南 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trendi…...

星思半导体系统级通信测试实验室设备齐全,为卫星通信芯片验证提供坚实保障

随着政府工作报告首次为卫星互联网“定调”&#xff0c;资本市场的聚光灯迅速转向这条黄金赛道。业内观察指出&#xff0c;2026年的市场关注点更加务实&#xff0c;聚焦于真正具备核心技术、能参与国际竞争的上游“硬科技”企业。在政策与资本的同频共振下&#xff0c;以星思半…...

用快马AI将数据库理论变现实:三分钟搭建学生信息管理原型

用快马AI将数据库理论变现实&#xff1a;三分钟搭建学生信息管理原型 数据库系统概论这门课我学了很久&#xff0c;但总觉得理论和实践之间隔着一道鸿沟。直到最近尝试用InsCode(快马)平台快速搭建了一个学生信息管理系统原型&#xff0c;才发现原来抽象的概念可以这么直观地呈…...

3大阶段×50个项目:Android Kotlin实战的能力跃迁指南

3大阶段50个项目&#xff1a;Android Kotlin实战的能力跃迁指南 【免费下载链接】50-android-kotlin-projects-in-100-days My everyday Android practice demos with Kotlin in 100 days. 项目地址: https://gitcode.com/gh_mirrors/50/50-android-kotlin-projects-in-100-d…...

JSXBIN反编译工具:面向创意开发者的ExtendScript源代码恢复方案

JSXBIN反编译工具&#xff1a;面向创意开发者的ExtendScript源代码恢复方案 【免费下载链接】jsxer A fast and accurate JSXBIN decompiler. 项目地址: https://gitcode.com/gh_mirrors/js/jsxer 核心价值解析&#xff1a;为何选择Jsxer 在Adobe创意软件生态中&#x…...

JTCalendar高级功能探索:水平与垂直布局的完整实现指南

JTCalendar高级功能探索&#xff1a;水平与垂直布局的完整实现指南 【免费下载链接】JTCalendar A customizable calendar view for iOS. 项目地址: https://gitcode.com/gh_mirrors/jt/JTCalendar JTCalendar是一款功能强大的iOS自定义日历视图库&#xff0c;提供灵活的…...

面向 LLM 的程序设计 3:LLM-Friendly 的响应结构:扁平键、稳定字段与类型标注

在满足能力端点与确定性契约之后&#xff0c;响应长什么样仍会直接影响模型能不能「读对结果、少误解、少编造字段」。本系列继续围绕「让 AI 更好理解、更好调用」&#xff0c;讨论如何把 JSON 响应设计成对模型和后续工具链都更友好&#xff1a;键名稳定、层次尽量扁平、数组…...

LoRA训练助手效果展示:GPT模型微调前后对比

LoRA训练助手效果展示&#xff1a;GPT模型微调前后对比 1. 引言 你是否曾经遇到过这样的情况&#xff1a;用GPT模型生成的内容总是差那么点意思&#xff0c;要么风格不对&#xff0c;要么专业度不够&#xff0c;要么就是不符合你的特定需求&#xff1f;就像让一个通才来处理专…...