自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(190)
  • 收藏
  • 关注

原创 基于Netty实现一个高性能下载服务,支持断点下载

Netty 是一个基于 Java NIO 的异步事件驱动的高性能网络应用框架。它简化了网络编程的复杂性,提供了一套丰富的 API,方便开发者构建高性能、可伸缩的网络应用。Netty 的核心是非阻塞 I/O 模型,它能够处理大量并发连接,充分利用多核 CPU 提升程序性能。对于下载服务而言,Netty 的高并发、异步 I/O 特性可以显著提升下载效率,尤其是在处理大文件和多用户并发下载时。

2024-10-24 15:36:03 1037

原创 【分布式事务】深入探索 Seata 的四种分布式事务解决方案的原理,优缺点以及在微服务中的实现

分布式事务是在分布式系统中保持数据一致性的关键问题之一。Seata(Simple Extensible Autonomous Transaction Architecture)是一款开源的分布式事务解决方案,它提供了四种不同的事务模式,分别是XA、AT、TCC、SAGA。本文将深入探讨这四种分布式事务解决方案的原理、优缺点以及应用场景,以帮助开发人员更好地选择适合其项目的分布式事务模式。

2023-11-08 16:47:32 2979 4

原创 【分布式事务】初步探索分布式事务的概率和理论,初识分布式事的解决方案 Seata,TC 服务的部署以及微服务集成 Seata

分布式事务是指在分布式系统中,多个独立的事务操作需要协同工作以维护数据的一致性和完整性。在传统的单机事务中,ACID(原子性、一致性、隔离性、持久性)属性可以轻松满足,但在分布式系统中,由于涉及多个数据存储节点,实现分布式事务变得更加复杂。关键问题包括如何协调各个参与者的事务、如何处理网络分区和节点故障、如何保证全局数据一致性等。因此,分布式事务需要特殊的技术和协议来管理和维护数据一致性,以确保分布式系统的正确运行。

2023-11-07 21:05:19 1506

原创 【RabbitMQ】RabbitMQ 集群的搭建 —— 基于 Docker 搭建 RabbitMQ 的普通集群,镜像集群以及仲裁队列

在RabbitMQ中,有不同的集群模式,包括普通模式、镜像模式和仲裁队列。每种模式具有不同的特点和应用场景。

2023-11-05 15:20:31 4248 2

原创 【RabbitMQ】RabbitMQ 消息的堆积问题 —— 使用惰性队列解决消息的堆积问题

消息的堆积问题是指在消息队列系统中,当生产者以较快的速度发送消息,而消费者处理消息的速度较慢,导致消息在队列中积累并达到队列的存储上限。在这种情况下,最早被发送的消息可能会在队列中滞留较长时间,直到超过队列的容量上限。当队列已满且没有更多的可用空间来存储新消息时,新的消息可能无法进入队列,从而导致消息丢失。这种情况下的消息通常被称为死信,因为它们无法被正常消费。

2023-11-04 17:24:06 4736 1

原创 【RabbitMQ】 RabbitMQ 消息的延迟 —— 深入探索 RabbitMQ 的死信交换机,消息的 TTL 以及延迟队列

消息队列是现代分布式应用中的关键组件,用于实现异步通信、解耦系统组件以及处理高并发请求。消息队列可以用于各种应用场景,包括任务调度、事件通知、日志处理等。在消息队列的应用中,有时需要实现消息的延迟处理、处理未能成功消费的消息等功能。本文将介绍一些与消息队列相关的关键概念和技术,包括死信交换机(Dead Letter Exchange)、消息的 TTL(Time To Live,生存时间)、以及使用 DelayExchange 插件实现消息的延迟处理。通过深入理解这些概念和技术,将能帮助我们更好地设计和构

2023-11-04 15:53:04 2737

原创 【RabbitMQ】RabbitMQ 消息的可靠性 —— 生产者和消费者消息的确认,消息的持久化以及消费失败的重试机制

在现代分布式应用程序中,消息队列扮演了至关重要的角色,允许系统中的各个组件之间进行异步通信。这种通信模式提供了高度的灵活性和可伸缩性,但也引入了一系列的挑战,其中最重要的之一是消息的可靠性。首先让我们来了解一下,在消息队列中,消息从生产者发送到交换机,再到队列,最后到消费者,有哪些情况会导致消息的丢失?生产者发送的消息未送达交换机;消息到达交换机后未到达队列;MQ 宕机,队列中的消息会丢失;消费者接收到消息后未消费就宕机了。

2023-11-02 19:51:26 15222 6

原创 【MyBatis Plus】使用 MyBatis Plus 完成分页功能,以及通用分页实体的实现

使用 MyBatis Plus 完成分页功能,以及通用分页实体的实现

2023-11-02 11:21:45 25455 5

原创 【MyBatis Plus】MyBatis Plus 扩展:利用代码生成器自动生成代码,Db 静态工具类的使用,逻辑删除,以及枚举和 JSON 处理器的使用

MyBatis Plus 扩展:利用代码生成器自动生成代码,Db 静态工具类的使用,逻辑删除,以及枚举和 JSON 处理器的使用

2023-11-01 23:28:33 2727 1

原创 【MyBatis Plus】深入探索 MyBatis Plus 的条件构造器,自定义 SQL语句,Service 接口的实现

在前文中,介绍了 MyBatis Plus 的一些基础功能,我们发现使用MyBatis Plus 可以非常简单的就实现对单表的增删改查操作。但是这些操作对应的 SQL 语句都非常简单,如果是面对一些复杂的 SQL 或者多表查询这样的情况,就需要我们自己来重新组织 SQL 语句了。本文将重点探索 MyBatis Plus 的条件构造器、自定义SQL语句来解决这些复杂情况,然后实现 MyBatis Plus 提供的通用的 Service 接口,以展示如何在项目中使用 MyBatis Plus。

2023-10-27 22:42:35 4047

原创 【MyBatis Plus】初识 MyBatis Plus,在 Spring Boot 项目中集成 MyBatis Plus,理解常用注解以及常见配置

MyBatis Plus(简称 MyBatis-Plus 或 MP)是一个流行的Java持久层框架,它在 MyBatis 的基础上进行了扩展,旨在`简化数据库操作和提高开发效率`。它提供了丰富的功能和工具,使开发者能够更轻松地进行数据库操作,包括增删改查等常见操作。MyBatis Plus 还提供了一套方便的 API 和注解,可以减少编写重复性代码的工作。

2023-10-26 17:59:56 10176

原创 【微服务】Feign 整合 Sentinel,深入探索 Sentinel 的隔离和熔断降级规则,以及授权规则和自定义异常返回结果

在前文中,介绍了 Sentinel 的流控模式和流控效果,然而限流只是一种预防措施,虽然可以尽量避免因为并发问题而引起的服务故障,但服务仍然可能因其他因素而发生故障。为了将这些故障控制在一定范围内,以避免雪崩效应的发生,我们需要依赖线程隔离(舱壁模式)和熔断降级机制。

2023-10-23 22:52:42 5081 1

原创 【微服务保护】Sentinel 流控规则 —— 深入探索 Sentinel 的流控模式、流控效果以及对热点参数进行限流

微服务架构的流行使得在分布式系统中保障稳定性变得尤为关键。在前文中,已经讨论了微服务中可能出现的雪崩问题以及相应的解决方案。作为确保系统可用性的关键工具之一,Sentinel 应运而生,它是一款功能强大的流量控制组件,为开发人员提供了多种方式来管理和保护微服务。在本文中,我将深入探讨 Sentinel 的核心功能,包括流控模式、流控效果和对热点资源的限流策略。深入了解这些概念,并通过示例演示如何在 Spring Cloud 项目中使用 Sentinel,以便更好地应对各种流量控制和限流需求。

2023-10-20 19:23:06 3331

原创 【微服务保护】初识 Sentinel —— 探索微服务雪崩问题的解决方案,Sentinel 的安装部署以及将 Sentinel 集成到微服务项目

微服务架构在现代软件开发中变得越来越重要。它通过将大型应用程序拆分成小而自治的服务单元,使开发、部署和维护变得更加灵活和高效。然而,微服务架构也引入了一些新的挑战,其中之一就是“雪崩”问题。在这篇文章中,我们将探讨什么是雪崩问题,以及如何应对它。雪崩问题是指在微服务架构中,一个微服务的故障可能会引发级联效应,导致整个系统不可用。这个问题可能会对业务造成严重影响,因此了解如何预防和处理雪崩问题至关重要。此外,还将介绍 Sentinel 框架,这是一款由阿里巴巴开源的微服务流量控制组件。

2023-10-20 16:32:23 1211

原创 【ElasticSearch】深入探索 ElasticSearch 对数据的聚合、查询自动补全、与数据库间的同步问题以及使用 RabbitMQ 实现与数据库间的同步

在本文中,我们将深入探讨 ElasticSearch 在数据处理中的关键功能,包括数据聚合、查询自动补全以及与数据库的同步问题。首先,我们将聚焦于 ElasticSearch 强大的聚合功能,解释什么是聚合以及如何通过 DSL 语句和 RestClient 实现各种聚合操作。这一功能能够让我们更深入地了解和分析存储在 ElasticSearch 中的数据。随后,我们将介绍查询自动补全功能,重点探讨拼音分词器、自定义分词器,以及如何通过 DSL 实现搜索的自动补全功能。

2023-10-13 21:36:09 1055 12

原创 【ElasticSearch】使用 Java 客户端 RestClient 实现对文档的查询操作,以及对搜索结果的排序、分页、高亮处理

在 Elasticsearch 中,通过 RestAPI 进行 DSL 查询语句的构建通常是通过中的resource()方法来实现的。该方法包含了查询、排序、分页、高亮等所有功能,为构建复杂的查询提供了便捷的接口。RestAPI 中构建查询条件的核心部分是由一个名为的工具类提供的。该工具类包含了各种查询方法。

2023-10-11 22:40:33 1296 1

原创 【ElasticSearch】深入探索 DSL 查询语法,实现对文档不同程度的检索,以及对搜索结果的排序、分页和高亮操作

Elasticsearch(简称ES)是一个强大的开源搜索和分析引擎,广泛应用于各种应用程序中,从企业级搜索引擎到日志和指标分析。其强大之处在于其灵活的数据模型和丰富的查询语言,使得用户能够轻松地进行全文检索、精确查询、地理坐标查询等操作。本文将深入探讨Elasticsearch的DSL(Domain Specific Language)查询,分为多个部分进行介绍。

2023-10-11 18:55:28 1162

原创 【ElasticSearch】基于 Java 客户端 RestClient 实现对 ElasticSearch 索引库、文档的增删改查操作,以及文档的批量导入

ElasticSearch 官方提供了各种不同语言的客户端,用来操作 ES。这些客户端的本质就是组装 DSL 语句,通过 HTTP 请求发送给 ES 服务器。。在本文中,我们将着重介绍 ElasticSearch Java 客户端中的 RestClient,并演示如何使用它实现对索引库和文档的各种操作。RestClient 是 ElasticSearch 提供的用于与 ElasticSearch 集群进行通信的 Java 客户端。它提供了一种简单而灵活的方式来执行 REST 请求,并处理响应。

2023-10-08 19:53:10 3550 3

原创 【ElasticSearch】基于Docker 部署 ElasticSearch 和 Kibana,使用 Kibana 操作索引库,以及实现对文档的增删改查

Elasticsearch 和 Kibana 是强大的工具,用于构建实时搜索和数据可视化解决方案。Elasticsearch 是一个分布式、高性能的搜索引擎,可以用于存储和检索各种类型的数据,从文本文档到地理空间数据。Kibana 则是 Elasticsearch 的可视化工具,用于实时分析和可视化大规模数据集。在本文中,将探讨如何使用 Docker 进行快速部署 Elasticsearch 和 Kibana,搭建一个强大的搜索和分析平台。

2023-10-08 18:04:05 7315 2

原创 【ElasticSearch】深入了解 ElasticSearch:开源搜索引擎的力量

在信息时代,数据的增长速度之快让我们迅速感受到了信息爆炸的挑战。在这个背景下,搜索引擎成为了我们处理海量数据的得力工具之一。而 ElasticSearch 作为一款强大的开源搜索引擎,不仅能够高效地存储和检索数据,还在日志分析、实时监控等领域展现了其卓越的性能。正向索引是基于文档 id 创建索引,适用于小规模数据和简单查询场景。倒排索引通过分析文档内容,记录词条信息,适用于大规模数据和复杂查询场景,提高了查询效率。ElasticSearch 的强大之处在于其面向文档的存储和全文搜索功能。

2023-10-07 21:15:16 2182 1

原创 【Spring AMQP】基于 Spring AMQP 实现简单、工作队列模型,发布订阅模型 Fanout、Direct、Topic ,以及更改 AMQP 的消息转换器

在分布式系统中,消息队列是一种常见的通信方式,用于实现不同模块之间的解耦、异步通信。Spring AMQP 是 Spring 框架对 AMQP(高级消息队列协议)的支持,提供了丰富的 API 和注解,使得在 Spring 项目中使用消息队列变得更加简便。本文将介绍如何基于 Spring AMQP 实现简单队列模型、工作队列模型,以及发布订阅模型的 Fanout、Direct、Topic 的实现。同时,我们还会探讨 AMQP 的消息转换器,以及如何更改默认的消息转换器。

2023-10-06 18:08:28 1640 1

原创 【RabbitMQ】初识消息队列 MQ,基于 Docker 部署 RabbitMQ,探索 RabbitMQ 基本使用,了解常见的消息类型

RabbitMQ 是一个开源的消息代理软件,实现了高级消息队列协议(AMQP)。它允许不同应用之间进行异步通信,并提供了一种有效的方式来处理分布式系统中的大量消息。

2023-10-06 12:10:08 1217 2

原创 【Docker】搭建 Docker 镜像仓库

在 Docker 生态系统中,镜像仓库(Docker Registry)扮演着关键的角色,用于存储和分享 Docker 镜像。镜像仓库有公共的和私有的两种形式,每种形式都有其特定的应用场景。公共镜像仓库Docker HubDocker Hub 是 Docker 公共仓库,是最大的 Docker 镜像仓库之一。它提供了大量的公共镜像供用户使用。你可以在 Docker Hub 上找到官方的基础镜像,也可以找到其他用户分享的各种应用和工具的镜像。国内云服务商提供的公共仓库由于 Docker Hub

2023-10-05 13:13:51 10484 6

原创 【Docker Compose】Docker Compose 的安装,使用以及实现微服务集群的部署

Docker Compose 是 Docker 公司提供的一个用于定义和运行多容器 Docker 应用程序的工具。通过 Docker Compose,可以使用简单的 YAML 文件来配置整个应用程序的服务、网络、卷等各种参数。这样,我们可以轻松实现一键部署和管理多个 Docker 容器,简化了多容器应用的配置和管理。

2023-10-05 12:25:59 1187

原创 【Docker】初识 Docker,Docker 基本命令的使用,Dockerfile 自定义镜像的创建

Docker 是一种开源的容器化平台,旨在简化应用程序的开发、交付和部署过程。通过使用容器技术,Docker 能够将应用程序、所有依赖项以及程序运行所需要的环境打包成一个独立的容器。这个容器包含了运行应用所需的一切,包括操作系统、库和代码等等。这种打包的方式使得应用程序在任何环境中都能够以一致的方式运行,从而实现了跨平台、可移植和快速部署的优势。

2023-10-05 11:12:10 1059 8

原创 【Spring Cloud】深入探索统一网关 Gateway 的搭建,断言工厂,过滤器工厂,全局过滤器以及跨域问题

在微服务架构中,网关是至关重要的组件,具有多重职责,为整个系统提供了一系列关键功能。微服务结构图:用户的所有请求首先经过网关,这使得网关成为系统的第一道防线。通过对传入请求的过滤、验证和安全策略的实施,网关确保只有合法的请求能够访问内部的微服务。网关具有路由功能,能够将收到的请求正确地分发给相应的微服务。这种路由机制使得系统更加灵活,同时,网关还结合了负载均衡的特性,确保各个微服务能够平衡地处理请求,提升系统的性能和可用性。作为系统的入口,网关提供了一个统一的接入点,简化了客户端与微服务之间的通信。

2023-10-03 17:51:46 2408 5

原创 【Spring Cloud】基于 Feign 实现远程调用,深入探索 Feign 的自定义配置、性能优化以及最佳实践方案

Feign 提供了一些自定义配置项,可以根据项目的需求进行调整。类型作用说明修改日志级别NONEBASICHEADERSFULL。响应结果的解析器用于解析 HTTP 远程调用的结果,例如将 JSON 字符串解析为 Java 对象。请求参数编码用于将请求参数编码,便于通过 HTTP 请求发送。支持的注解格式定义 Feign 接口中支持的注解格式,默认是 SpringMVC 的注解。失败重试机制控制请求失败的重试机制,默认是没有重试,但会使用 Ribbon 的重试。修改 Feign 的日志级别。

2023-10-02 22:39:30 3788 1

原创 【Spring Cloud】深入理解 Nacos 的统一配置管理,配置热更新,多环境配置共享,集群搭建

在微服务架构中,配置管理是一个至关重要的问题。随着系统规模的扩大,配置的管理和更新变得更加繁琐。Nacos 作为一个全能的服务发现和配置管理平台,为解决这一问题提供了全方位的支持。在本文中,我们将深入理解 Nacos 的配置管理,包括配置的统一管理、热更新、多环境配置共享以及Nacos集群的搭建。

2023-09-30 19:14:13 3452

原创 【Spring Cloud】深入探索 Nacos 注册中心的原理,服务的注册与发现,服务分层模型,负载均衡策略,微服务的权重设置,环境隔离

在微服务架构中,服务注册中心是整个体系中的关键组件之一。它负责服务的注册、发现和管理,为微服务之间的通信提供了基础设施。在这方面,Nacos(Namespace Aware Clustered Object Storage)作为一种服务发现和配置管理系统,提供了丰富的功能,旨在简化微服务架构中的服务注册、配置管理以及服务元数据的处理。是一个开源的、易于配置的、多功能的服务发现和配置管理系统。它由阿里巴巴开发,提供了一种简化微服务架构中服务发现、动态配置和服务元数据的解决方案。

2023-09-30 12:32:33 3596 8

原创 【Spring Cloud】Ribbon 实现负载均衡的原理,策略以及饥饿加载

在前文《深入理解 Eureka 注册中心的原理、服务的注册与发现》中,介绍了如何使用 Eureka 实现服务的注册与拉取,并且通过添加注解实现了负载均衡。服务是在何时进行拉取的?负载均衡是如何实现的?负载均衡的原理和策略又是什么?本文旨在深入探讨使用 Eureka 实现负载均衡的原理,为我们理解微服务架构中服务调用的内部机制提供更清晰的认识。通过解答这些疑惑,我们将更好地理解服务发现、负载均衡的运作方式,为构建高性能、稳定的分布式系统打下坚实的基础。Ribbon。

2023-09-29 08:52:19 2312

原创 【Spring Cloud】深入理解 Eureka 注册中心的原理、服务的注册与发现

在微服务架构中,服务的注册与发现是至关重要的一环。为了实现这一目标,Eureka 注册中心应运而生。在本篇文章中,我们将深入理解 Eureka 注册中心的原理,以及探讨服务的注册与发现机制。在微服务的协作中,服务之间的远程调用是常见的需求。然而,使用传统的 RestTemplate 远程调用方式存在一些问题,例如耦合度高、维护困难等。为了解决这些问题,我们将探讨如何利用 Eureka 注册中心来优雅地进行服务的注册与发现,从而更好地构建微服务架构。

2023-09-27 22:10:13 2496 1

原创 【Spring Cloud】认识微服务架构,拆分简单的 Demo 实现服务的远程调用

随着互联网技术的不断发展,软件架构也在不断演变,从最早的单体架构逐步演进为分布式架构,再到如今更为灵活和可伸缩的微服务架构。在这个演变的过程中,架构设计逐步从简单向复杂迈进,服务之间的耦合度逐步降低,从而更好地适应了不断变化的业务需求。是一套在分布式系统中快速构建微服务架构的开发工具集。它提供了一系列的工具和组件,使得开发者能够轻松地在分布式系统中构建各种微服务,并解决微服务架构中的一些常见问题,如服务发现、配置管理、负载均衡、熔断器等。

2023-09-27 18:22:25 732

原创 轻松学会 Git(三):掌握 Git 的远程操作

版本控制系统是现代软件开发中不可或缺的工具,它有助于团队协作、代码管理和跟踪项目的演变历史。在版本控制系统中,分布式版本控制系统(DVCS)以其强大而灵活的特性成为开发者们的首选。本文将深入探讨分布式版本控制系统的工作原理和优势,帮助我们更好地理解和应用 Git,成为一名 Git 高手。希望通过阅读本文的内容,将能够帮助我们更好地掌握 Git,轻松应对团队协作和版本控制的各种需求。

2023-09-26 21:44:27 354

原创 【Git】轻松学会 Git(二):掌握 Git 的分支管理

版本控制系统,如 Git 在软件开发和协作中扮演着关键的角色。它们帮助团队协同工作,跟踪代码的历史变化,解决冲突,以及确保项目的稳定性。而分支管理是版本控制中的一个核心概念,它使开发者能够在不同的方向上并行工作,而不会干扰彼此的进度。本文将深入探讨Git分支管理的方方面面。

2023-09-25 14:25:34 610 1

原创 【Git】轻松学会 Git(一):掌握 Git 的基本操作

在软件开发中,版本控制是一个非常重要的概念。它允许开发者追踪代码的变化,协作开发,以及回退到之前的版本。Git 是目前最流行的版本控制工具之一,它具有强大的功能,可帮助开发团队高效地管理代码。本文将介绍如何使用 Git 来管理我们的代码项目。我将从创建本地仓库开始,逐步介绍配置 Git、认识 Git 的工作区、暂存区和版本库,以及如何添加文件、修改文件、版本回退、撤销修改以及删除文件等操作。首先创建一个目录;在该目录下使用命令git init进行初始化。例如,我创建了一个gitcode。

2023-09-24 15:30:29 791

原创 【Redis】深入探索 Redis 集群(Cluster)模式的概念、原理、数据分片算法,基于 Docker 模拟搭建 Redis 集群分布式架构

Redis Cluster 是一种分布式集群模式,它允许将数据分散存储在多个节点上,从而提供了横向扩展、高可用性和更大存储容量。Redis Cluster 有以下关键特点:分布式数据存储: Redis Cluster 将数据划分为多个槽(slot),这些槽分布在不同的节点上。每个节点负责管理一部分槽中的数据,这样数据可以分布在多个节点上,避免了单节点存储容量的限制。自动数据分片: Redis Cluster 使用哈希槽来分片数据,客户端根据键的哈希值将数据路由到正确的节点。这使得数据的分片和路由是自

2023-09-22 19:08:09 3940 1

原创 【Redis】深入探索 Redis 的哨兵(Sentinel)机制原理,基于 Docker 模拟搭建 Redis 主从结构和哨兵分布式架构

Redis Sentinel(Redis 哨兵)是一个用于监控和管理 Redis 高可用性(High Availability)的系统。它是 Redis 官方提供的一种解决方案,用于确保 Redis 在面临主节点故障等异常情况时能够自动进行故障切换,保持系统的可用性。Redis Sentinel 的主要功能包括:监控: Sentinel 节点会定期检查 Redis 主从节点的健康状态,以确保它们正常运行。故障检测: Sentinel 可以检测到主节点的故障,并快速将其切换到备用的从节点,以避免服务

2023-09-21 23:04:58 2665 7

原创 【Redis】深入探索 Redis 主从结构的创建、配置及其底层原理

在 Redis 中,主从结构是一种数据复制机制,它包括一个 Redis 主节点(Master)和一个或多个 Redis 从节点(Slave)。其中主节点主要负责处理写数据操作(数据的写入和更新),而从节点则负责复制主节点的数据并处理读请求。通过这样的主从结构,提高了 Redis 服务器的性能和高可用。

2023-09-19 22:17:20 1956 5

原创 【Redis】深入理解 Redis 事务机制

简单来说,Redis事务 允许将一组 Redis 命令组合成一个单独的、不可中断的操作序列。这意味着,一旦开始了一个 Redis 事务,任何在事务执行期间的其他客户端的命令都不会中断这个事务,而是会排队等待执行,直到事务被提交或取消执行。Redis 事务的核心概念涉及在 Redis 服务器上创建一个称为 "事务队列" 的缓冲区。当开启一个事务后,所有与该事务相关的命令都将按顺序排队进入该队列。只有当发送执行事务的命令时,队列

2023-09-16 11:50:02 946 8

原创 【Redis】深入理解 Redis 持久化机制 —— RDB 和 AOF

虽然 Redis 是一个内存数据库,但由于各种原因,如 Redis 服务器的重启、意外崩溃等,内存中的数据可能会丢失。为了确保数据的持久性和可靠性,Redis引入了持久化机制,允许将数据定期保存到磁盘中,以便在下次启动 Redis 时能够恢复原来的数据到内存中。Redis 的持久化机制是 Redis 数据库的一个重要组成部分,它允许将内存中的数据以不同的方式写入磁盘,以防止数据丢失。这对于许多应用场景非常关键,特别是需要长期保存数据或具有高可用性要求的系统。

2023-09-15 19:41:33 6602 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除