标签: 性能优化

31 篇文章

Redis 的内存用完了会发生什么?
当Redis内存用完后,会发生以下几种情况: 一、写入操作失败 Redis达到最大内存限制后,默认行为是拒绝新的写入操作并返回错误。此时SET、HSET等写命令会报错"OOM command not allowed when used memory > 'maxmemory'",但读操作和删除操作仍可正常执行。这是为了保护数据一致性,防止数据…
redis中如果有大量的 key 需要设置同一时间过期,一般需要注意什么?
当需要为大量key设置同一时间过期时,需要注意以下几个关键问题: 1. 避免集中过期引发的性能问题 如果大量key在同一时刻过期,会导致Redis在短时间内处理大量删除操作,可能产生以下影响: CPU负载激增:Redis的定期删除策略会频繁触发,增加CPU消耗 请求延迟增加:删除操作可能阻塞主线程,影响其他请求的响应速度 缓存雪崩风险:如果这些ke…
Redis 集群之间是如何复制的?
Redis集群通过主从复制机制实现数据同步,核心包括全量同步和增量同步两种模式,采用异步复制方式保证最终一致性。 一、主从复制的基本架构 Redis集群采用一主多从的架构,每个主节点(Master)可以拥有多个从节点(Slave)。主节点负责处理写操作,从节点通过复制机制同步主节点数据,实现数据备份和读写分离。从节点默认只读,通过配置replica…
Spring Boot 中如何实现异步方法调用?
在实际开发中,我们经常会遇到一些耗时较长的操作,比如文件上传、数据批量处理、第三方接口调用等。如果采用同步调用的方式,主线程会被阻塞,等待这些耗时操作完成后才能继续执行,这会严重影响系统的响应速度和并发能力。而异步方法调用可以让主线程在发起调用后立即返回,继续执行后续任务,耗时操作则在独立的线程中完成,从而提升系统的吞吐量和响应效率。本文将详细介绍…
SpringBoot整合Kafka实战指南
Apache Kafka是一个分布式流处理平台,广泛用于构建实时数据管道、日志聚合系统和事件溯源架构。Spring Boot提供了对Kafka的良好集成支持,使得开发者可以非常便捷地在项目中使用Kafka。本文将手把手教你如何在Spring Boot项目中集成Kafka,包括生产者(Producer)和消费者(Consumer)的实现,并提供完整的…
告别慢查询!Spring Boot整合Redis打造高性能缓存,这篇真的够了​
一、前言 在当今的互联网应用开发中,业务性能优化是至关重要的一环。随着用户数量的增加和业务复杂度的提升,数据库的压力也越来越大,响应时间变长,用户体验随之下降。而缓存技术的出现,为解决这些问题提供了有效的途径。其中,Redis凭借其高性能、多数据结构的特性,成为缓存、分布式锁、限流等场景的首选中间件。Spring Boot作为主流的Java开发框架…
SpringBoot多数据源配置与动态切换技术详解
一、多数据源应用场景 在实际开发中,SpringBoot应用连接多个数据库的需求日益普遍,主要应用于以下场景: 读写分离架构:主库负责写入,从库负责查询,QPS可提升3-5倍 业务分库:订单库、用户库分离,降低单库压力 多租户系统:每个租户独立数据库,实现数据隔离 异构数据库:MySQL + MongoDB混合使用,满足不同业务需求 二、核心实现方…
SpringBoot整合MinIO:从基础到分片上传的完整技术方案
一、MinIO简介与优势 MinIO是一款基于Go语言开发的高性能、分布式对象存储系统,完全兼容Amazon S3 API协议。作为开源项目,它采用Apache License v2.0协议,非常适合存储大容量非结构化数据,如图片、视频、日志文件等。 核心优势: 轻量级:二进制文件小,部署简单,资源要求低 高性能:通过优化的存储引擎和缓存机制提供极…
一文带你搞懂Spring Boot事件总线
一、事件总线核心概念 SpringBoot事件总线基于发布-订阅模式(Publish-Subscribe)实现组件间松耦合通信,其核心设计思想体现在三个维度:解耦性、异步处理和观察者模式扩展。 核心组件 事件(Event):继承ApplicationEvent的自定义类,封装需要传递的业务数据。建议使用final字段确保线程安全,包含完整业务上下文…
SpringBoot文件上传下载实现完整指南
一、核心概念与原理 Spring Boot通过Spring MVC的MultipartFile接口处理文件上传,该接口封装了上传文件的所有信息,包括文件内容、文件名、MIME类型等。文件上传的本质是将HTTP请求中的multipart/form-data格式数据解析为文件流并保存到指定位置,而文件下载则是将文件流写入HTTP响应体并设置相应的响应头…