Month: September 2024

3 Posts

缓存击穿与缓存雪崩
刷帖子,看到有佬吐槽:某个业务缓存数据到期了本来只需要删除这个业务的数据就可以,但是同事把所有缓存数据都删除了,造成数据库宕机……有回复提到缓存击穿和缓存雪崩,于是就去查了资料,之前只是听说,也不知道具体是什么以及解决方法。 缓存击穿 概念 定义: 缓存击穿是指在高并发访问的情况下,某个非常热点的数据突然过期,导致大量请求在缓存中找不到数据,从而直接访问数据库,造成数据库压力瞬间增大。 发生原因: 热点数据过期。 高并发访问热点数据。 影响: 数据库承受大量突发请求,可能导致性能问题。…
MySQL 之索引
索引(Index)是帮助 MySQL 进行高效查询的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构是以某种方式引用(指向)数据,这样就可以在这些数据结构之上实现高级查找算法,这种数据结构就是索引。 索引结构 MySQL 的索引结构是在存储引擎层实现的,不同的存储引擎有不同的结构,主要包含以下几种: 索引结构描述B+ Tree 索引最常见的索引类型,大部分引擎都支持 B+…
MySQL 之事务
事务是一组操作的集合,是一个不可分割的工作单元,同时是数据库操作的基本单元,这些操作要么同时成功要么同时失败。它用于保证数据操作的原子性、一致性、隔离性和持久性(ACID)。 事务案例 查看以下案例:张三需要向李四的账户转账一千元,这件事由多个部分组成: 查询张三的账户余额,确保有足够的金额可以转账。 SELECT money from account where name…