logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

四、MySQL 索引优化实战

本文总结了MySQL索引优化与SQL查询优化的关键点:1)联合索引范围查询首字段不走索引;2)覆盖索引可减少回表;3)大数据量时IN/OR走索引,小数据量全表扫描;4)like 'KK%'使用索引下推优化。Order by/Group by优化需遵循最左前缀原则,优先利用索引排序。分页查询建议先查主键再关联,避免大量数据偏移。关联查询应遵循小表驱动大表原则,确保关联字段有索引。前缀索引适用于长字符

#mysql#android#数据库
Redis 缓存问题:穿透、击穿、雪崩、Big Key

穿透是查不存在的数据,击穿是一个热点 key 失效,雪崩是一大片 key 同时失效,Big Key 是一个 key 太胖,热点 Key 是一个 key 太火。大量缓存 key 在同一时间失效,或者 Redis 整体宕机,导致大量请求瞬间打到数据库。查询的数据在 Redis 中不存在,在数据库中也不存在,导致每次请求都会打到数据库。1. 互斥锁:缓存失效后,只允许一个线程去查数据库并重建缓存,其他线

#缓存#redis#数据库
深入理解 RocketMQ 消息模型:从客户端机制到 Spring Boot 实战与生产最佳实践

RocketMQ 的价值并不仅仅是“把消息发送出去”,而是围绕可靠性、一致性、吞吐量和业务治理提供了一套完整机制。普通消息解决异步解耦问题。广播消息用于每个实例都需要执行的通知类场景。Tag 与 SQL 过滤帮助消费者只处理关心的消息。顺序消息保证同一业务实体的状态流转顺序。延迟消息适用于订单超时、定时提醒等场景。批量消息提高大量小消息的发送效率。事务消息用于解决本地事务与消息发送的一致性问题。A

文章图片
#java-rocketmq#rocketmq#spring boot
初步理解 JVM:类加载机制、内存结构与核心运行原理

类加载指的是 JVM 把 .class 字节码文件加载到内存中,并对其进行校验、转换、初始化,使其最终成为 JVM 可以直接使用的 Java 类型。类加载的完整生命周期如下:加载 -> 验证 -> 准备 -> 解析 -> 初始化其中,验证、准备、解析统称为连接 Linking。

#jvm
Java 异步编程之 Thread、Runnable、Callable、CompletableFuture 与线程池实战

不要大量使用:CompletableFuture.supplyAsync(() -> queryData());因为默认使用的是:ForkJoinPool.commonPool()这是公共线程池,不适合承载大量业务任务。推荐:

#java#开发语言
深入理解 ReentrantLock:从使用方式到 AQS 底层原理

ReentrantLock 底层通过 AQS 的 state 变量记录锁的重入次数。当 state 为 0 时表示锁没有被持有,线程通过 CAS 把 state 从 0 改成 1 后获取锁成功。如果同一个线程再次获取锁,会判断当前线程是否是锁持有者,如果是,就把 state 加 1。释放锁时 state 减 1,只有当 state 减到 0 时,锁才真正释放。ReentrantLock 底层通过

#java
Spring Boot 多数据源管理实战:dynamic-datasource 从入门到架构落地

注解配合 AOP 拦截,在方法执行前把数据源标识放入 ThreadLocal,执行 SQL 时由动态路由数据源根据当前线程上下文选择真实 DataSource,方法执行完成后再清理上下文。它支持主从读写分离、数据源分组、动态增删数据源、敏感配置加密、Hikari/Druid 等连接池集成,也可以结合 Seata 处理分布式事务。实际项目中我一般会把。因为一次请求通常由一个线程处理,这个线程中执行

#spring boot#架构#后端
Spring Cloud OpenFeign 深度实战:微服务之间如何优雅地进行远程调用

在微服务架构中,一个系统往往会被拆分成多个服务。用户服务 user-service订单服务 order-service商品服务 product-service库存服务 stock-service支付服务 pay-service当用户下单时,订单服务可能需要调用用户服务查询用户信息,调用商品服务查询商品详情,调用库存服务扣减库存,调用支付服务发起支付。微服务之间如何进行远程调用?最原始的方式是使用或

#spring cloud#微服务#java
微服务组件之--Nacos

一、Nacos 是什么?Nacos 全称是用来管理微服务实例,比如订单服务、用户服务、商品服务启动后注册到 Nacos,其他服务可以通过 Nacos 找到它们。用来统一管理配置,比如数据库地址、Redis 地址、开关配置、限流参数等,并且支持动态刷新。官方对 Nacos 的定位也是:帮助开发者发现、配置和管理微服务,支持服务发现、服务配置、服务元数据和流量管理等能力。现在新版 Nacos 还在往等

#微服务#java#架构
Java 异步编程之 Thread、Runnable、Callable、CompletableFuture 与线程池实战

不要大量使用:CompletableFuture.supplyAsync(() -> queryData());因为默认使用的是:ForkJoinPool.commonPool()这是公共线程池,不适合承载大量业务任务。推荐:

#java#开发语言
    共 15 条
  • 1
  • 2
  • 请选择