标签: 事务

10 篇文章

redis中如果有大量的 key 需要设置同一时间过期,一般需要注意什么?
当需要为大量key设置同一时间过期时,需要注意以下几个关键问题: 1. 避免集中过期引发的性能问题 如果大量key在同一时刻过期,会导致Redis在短时间内处理大量删除操作,可能产生以下影响: CPU负载激增:Redis的定期删除策略会频繁触发,增加CPU消耗 请求延迟增加:删除操作可能阻塞主线程,影响其他请求的响应速度 缓存雪崩风险:如果这些ke…
Spring Boot 中如何实现异步方法调用?
在实际开发中,我们经常会遇到一些耗时较长的操作,比如文件上传、数据批量处理、第三方接口调用等。如果采用同步调用的方式,主线程会被阻塞,等待这些耗时操作完成后才能继续执行,这会严重影响系统的响应速度和并发能力。而异步方法调用可以让主线程在发起调用后立即返回,继续执行后续任务,耗时操作则在独立的线程中完成,从而提升系统的吞吐量和响应效率。本文将详细介绍…
SpringBoot整合Kafka实战指南
Apache Kafka是一个分布式流处理平台,广泛用于构建实时数据管道、日志聚合系统和事件溯源架构。Spring Boot提供了对Kafka的良好集成支持,使得开发者可以非常便捷地在项目中使用Kafka。本文将手把手教你如何在Spring Boot项目中集成Kafka,包括生产者(Producer)和消费者(Consumer)的实现,并提供完整的…
一文带你搞懂Spring Boot事件总线
一、事件总线核心概念 SpringBoot事件总线基于发布-订阅模式(Publish-Subscribe)实现组件间松耦合通信,其核心设计思想体现在三个维度:解耦性、异步处理和观察者模式扩展。 核心组件 事件(Event):继承ApplicationEvent的自定义类,封装需要传递的业务数据。建议使用final字段确保线程安全,包含完整业务上下文…
MySQL 乐观锁与悲观锁怎么实现?
在数据库并发控制中,乐观锁和悲观锁是两种核心的并发控制策略,它们分别适用于不同的业务场景。本文将详细介绍这两种锁机制在MySQL中的实现方式、适用场景以及实际应用案例。 一、悲观锁:先加锁再操作 1. 核心思想 悲观锁认为并发冲突随时可能发生,因此在访问数据前先对数据加锁,阻止其他事务修改数据,直到当前事务完成操作后才释放锁。 2. 实现方式 在M…
SpringBoot 全局异常处理最佳实践
一、为什么需要全局异常处理? 在Spring Boot项目开发中,如果没有统一的异常处理机制,会遇到以下问题: 代码冗余:每个Controller中都需要重复编写try-catch代码块 响应格式混乱:不同接口返回的错误信息格式不一致,前端难以统一处理 安全隐患:系统内部异常(如SQLException、NullPointerException)直…
Redisson分布式锁为什么要用lua脚本实现,而不用事务?
Redisson使用Lua脚本实现分布式锁主要是为了解决原子性、网络开销和事务局限性三个核心问题。下面详细解释: 1. 原子性保证 这是最主要的原因。Lua脚本在Redis中执行时是原子性的,整个脚本在执行过程中不会被其他命令打断。 -- Redisson的加锁Lua脚本示例 if (redis.call('exists', KEYS[1]…
为什么有些公司禁止使用@Transactional声明式事务?
这是一个很好的问题,很多开发者都有类似的疑惑,毕竟@Transactional是Spring框架提供的强大便捷功能。公司层面禁止使用它,通常不是因为这个注解本身是“坏的”,而是出于对复杂性的控制、对代码质量的追求以及避免隐藏风险的考虑。 主要原因可以归结为以下几点: 1. 隐藏的复杂性与不可预测的行为 声明式事务将事务逻辑“隐藏”在AOP代理之后,…
Spring的声明式事务在多线程的场景当中会失效,那怎么解决呢?
Spring的声明式事务在多线程场景中确实会失效,主要是由于事务管理依赖于ThreadLocal存储连接。以下是详细的失效原因和解决方案: 1. 失效原因分析 @Service public class UserService { @Transactional public void processInNewThread() { new Threa…
MySQL InnoDB 和 MyISAM 有什么区别?
MySQL 作为最流行的开源关系数据库之一,提供了多种存储引擎,其中 InnoDB 和 MyISAM 是最常用且最具对比性的两种。理解它们的核心差异对于数据库设计、性能优化和正确选型至关重要。 核心差异概览 特性对比InnoDBMyISAM事务支持​支持ACID事务不支持事务锁级别​行级锁表级锁外键约束​支持不支持崩溃恢复​有crash-safe恢…