2025年11月6日

摘要: 分布式服务的接口幂等性如何设计? 通过Token和Redis来实现接口幂等性。用户操作时,系统生成一个Token并存储在Redis中,当用户提交操作时,系统会验证Token的存在性,并在验证通过后删除Token,确保每个Token只被处理一次。 元宝解析: 接口幂等性是分布式系统设计中一个至关重要的 阅读全文
posted @ 2025-11-06 11:26 黑子菜园 阅读(7) 评论(0) 推荐(0)
摘要: undo log和redo log的区别是什么? 候选人:redo log记录的是数据页的物理变化,用于服务宕机后的恢复,保证事务的持久性。而undo log记录的是逻辑日志,用于事务回滚时恢复原始数据,保证事务的原子性和一致性。 事务中的隔离性是如何保证的呢?(你解释一下MVCC) 候选人:事务的 阅读全文
posted @ 2025-11-06 10:57 黑子菜园 阅读(6) 评论(0) 推荐(0)
摘要: 超大分页通常发生在数据量大的情况下,使用LIMIT分页查询且需要排序时效率较低。 可以通过覆盖索引和子查询来解决。首先查询数据的ID字段进行分页,然后根据ID列表用子查询来过滤只查询这些ID的数据,因为查询ID时使用的是覆盖索引,所以效率可以提升。 阅读全文
posted @ 2025-11-06 10:49 黑子菜园 阅读(4) 评论(0) 推荐(0)
摘要: 可以跟上一篇“MySQL内置的InnoDB的索引结构“结合起来看 了解过索引吗?(什么是索引) 索引在项目中非常常见,它是一种帮助MySQL高效获取数据的数据结构,主要用来提高数据检索效率,降低数据库的I/O成本。同时,索引列可以对数据进行排序,降低数据排序的成本,也能减少CPU的消耗。 索引的底层 阅读全文
posted @ 2025-11-06 10:39 黑子菜园 阅读(22) 评论(0) 推荐(0)
摘要: MySQL中,如何定位慢查询? MySQL本身也提供了慢查询日志功能。可以在MySQL的系统配置文件中开启慢查询日志,并设置SQL执行时间超过多少就记录到日志文件,比如我们之前项目设置的是2秒,超过这个时间的SQL就会记录在日志文件中,我们就可以在那里找到执行慢的SQL。 那这个SQL语句执行很慢, 阅读全文
posted @ 2025-11-06 10:35 黑子菜园 阅读(10) 评论(0) 推荐(0)
摘要: 1、MyBatis执行流程? 读取MyBatis配置文件mybatis-config.xml。 构造会话工厂SqlSessionFactory。 会话工厂创建SqlSession对象。 操作数据库的接口,Executor执行器。 Executor执行方法中的MappedStatement参数。 输入 阅读全文
posted @ 2025-11-06 10:19 黑子菜园 阅读(5) 评论(0) 推荐(0)
摘要: Spring Boot的自动配置原理基于@SpringBootApplication注解,它封装了@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan。@EnableAutoConfiguration是核心,它通过@Impo 阅读全文
posted @ 2025-11-06 10:05 黑子菜园 阅读(4) 评论(0) 推荐(0)

导航