TOCTOU问题

TOCTOU问题

TOCTOU(Time-Of-Check to Time-Of-Use)是一类典型的竞态条件问题,指程序在“检查资源状态”和“实际使用该资源”之间存在时间窗口,状态可能被其他线程或进程悄悄改掉,从而引发逻辑错误或安全漏洞。本文通过 Redisson 分布式锁unlock的实际案例,说明 TOCTOU 在业务代码中的具体表现。

Explore categories

Explore the categories

System

5+ articles

System

思维

3+ articles

思维

Lang

18+ articles

Lang

Database

14+ articles

Database

Other

6+ articles

Other

Distributed

7+ articles

Distributed

Web

2+ articles

Web

DevPractice

1+ articles

DevPractice

生活

1+ articles

生活

Latest articles 🎈

Check out our latest articles

MySQL索引优化规则

MySQL 索引是数据库查询优化的关键,合理的索引设计可以显著提高查询性能。本篇博客将介绍 MySQL 索引的优化规则,包括索引类型、最佳实践、常见误区以及如何使用 EXPLAIN 进行优化分析,帮助你构建高效的数据库查询方案。

·#MySQL
0
6 min read

MySQL使用trace命令验证查询成本

介绍了如何使用MySQL的trace命令来分析查询的执行过程。文章详细讲解了trace命令的具体用法,并通过解析trace结果,帮助读者理解MySQL在执行查询时是如何选择索引的,以及如何通过分析这些信息来优化查询性能。

·#MySQL
0
4 min read

MySQL单表查询如何计算成本

在 MySQL中,索引的选择和使用直接影响查询的执行成本。本文将详细介绍如何计算索引查询的代价,包括范围区间数量、回表次数、索引选择、排序代价、扫描行数等关键因素。通过EXPLAIN和TRACE命令,我们可以深入分析 SQL查询的执行过程,理解 MySQL 优化器的决策逻辑,并针对索引选择、查询优化提供实用的优化策略,帮助开发者提升数据库性能。

·#MySQL
0
10 min read

MySQL的SQL执行过程

本文通过简要介绍 MySQL 中的各个核心组件,包括连接器、查询缓存、解析器、优化器、执行器和日志模块,带领读者一步步梳理一条 SQL 语句在数据库中的完整执行流程。从客户端发送请求开始,到生成执行计划,再到实际读取或写入数据,逐层揭示各模块的职责与协作方式,帮助读者建立起对 MySQL 内部工作机制的整体认识,为后续性能调优和故障排查打下基础。

·#MySQL
0
6 min read

MySQL explain命令介绍

解析了MySQL中EXPLAIN命令的执行结果及其各个字段的含义。文章通过实例说明如何使用EXPLAIN命令来分析查询性能,并解读查询计划中的关键信息,如select_type、table、type、possible_keys、key、rows等字段,帮助更好地理解和优化SQL查询。

·#MySQL
0
9 min read

MySQL 高级索引机制解析:聚簇索引、覆盖索引与 MRR 等

本文系统梳理了 InnoDB 中的高级索引机制,从聚簇索引与辅助索引的物理结构出发,解释回表、覆盖索引、自适应哈希索引以及 MRR 多范围读取等关键优化点,并结合「三星索引」理念,帮助你在实际业务中设计出更高效的 MySQL 索引方案。

·#MySQL
0
5 min read