摘要: 第一种:简单模式 Simple 一个消费者消费一个队列 第二种:工作模式 Work 多个消费者消费一个队列 第三种:发布订阅模式 X代表交换机消息产生者将消息放入交换机,交换机发布订阅把消息发送到所有消息队列中,对应消息队列的消费者拿到消息进行消费 相关场景:邮件群发,群聊天,广播(广告) 第四种: 阅读全文
posted @ 2024-01-05 21:16 lov_ui 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 异步 削峰 解耦 阅读全文
posted @ 2024-01-05 21:00 lov_ui 阅读(2) 评论(0) 推荐(0) 编辑
摘要: Mybatis的一级、二级缓存 一级缓存:基于 PerpetualCache的HashMap本地缓存,其存储作用域为Session,当Session进行flush或 close之后,该Session中的所有Cache就将清空,默认打开一级缓存二级缓存是基于namespace和mapper的作用域起作 阅读全文
posted @ 2023-12-25 19:54 lov_ui 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 对于关联sql的优化 关联字段加索引,让mysql做join操作时尽量选择NLJ算法 小表驱动大表,写多表连接sql时如果明确知道哪张表是小表可以用straight_join写法固定连接驱动方式,省去 mysql优化器自己判断的时间 in和exsits优化 原则:小表驱动大表,即小的数据集驱动大的数 阅读全文
posted @ 2023-12-14 14:30 lov_ui 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 分页优化 select * from employees e inner join (select id from employees order by name limit 90000,5) ed on e.id = ed.id; 90001 90002 ..... 阅读全文
posted @ 2023-12-14 12:59 lov_ui 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 覆盖索引 直接在索引列查询到所需的数据,不需要回表 Extra: using index 索引下推: 直接在索引列筛选出所需要的数据,再回表查询 Extral : using index condition 阅读全文
posted @ 2021-11-19 14:37 lov_ui 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 一. mybatis的介绍 mybatis 半自动映射框架,在查询关联对象或关联集合对象时,需要手动编写 sql 来完成,所以,称之为半自动 ORM 映射工具。 可以编写原生态sql,可以严格执行sql的执行性能,但是过于依赖数据库,数据库移植性差,不能随意更换数据库。 二.#{}和${}的区别是什 阅读全文
posted @ 2021-11-04 10:11 lov_ui 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 线程安全性的理解: 多个线程访问某个类时,始终能表现出正常的行为,这就是线程安全。 线程安全性包括三个方面: 原子性:同一时刻只能有一个线程对其进行操作。 可见性:一个线程对主内存的修改可以及时的被其他线程观察到。 有序性:程序执行的顺序按照代码的先后顺序执行。 阅读全文
posted @ 2018-05-14 10:04 lov_ui 阅读(168) 评论(0) 推荐(0) 编辑
摘要: /** * 分页查询条件key前缀 */ public static final String REQUEST_QUERY = "_query"; ToolString.java 阅读全文
posted @ 2017-09-11 13:50 lov_ui 阅读(285) 评论(0) 推荐(0) 编辑
摘要: pom.xml ToolPoi.java PathKit.java 阅读全文
posted @ 2017-09-05 15:42 lov_ui 阅读(781) 评论(0) 推荐(0) 编辑