- 博客(11)
- 收藏
- 关注
原创 B+树个人笔记
原因:像红黑树,二叉树,这种类型的树的结构,树高会比B+树高出很多,这样会加大硬盘的访问次数,内存访问次数是纳秒级,对比硬盘是毫秒级,想要提速,只能减少对硬盘的访问次数(树越高,访问次数越多)。B树需要挪动节点上的数据,而B+树因为将所有数据都存在了子节点,所以,只需要挪动对应的索引就行,速度更快。所以即使B+树相比红黑树,平衡二叉树的节点元素个数增加了,也不会影响到硬盘读取速度。,范围查询,只需定位起始链表,然后顺序遍历链表,无需回溯上层,更加高效。B+树,相比B树,单独节点,只存储键值和子节点指针,
2025-07-20 22:49:24
176
原创 Mybatis 中的缓存机制
一级缓存是Sqlsession级别的缓存,也叫本地缓存,因为每一个用户在执行查询的时候,都需要使用SqlSession来执行,为了避免每一次都去查询数据库,mybatis把查询出来的数据,缓存到SqlSession的本地缓存里面,后续的Sql如果在命中缓存的情况下,就可以直接从本地缓存区读取这样的数据。因此引入了二级缓存,当多个用户在查询数据的时候,只要有任何一个sqlSession拿到了数据,就会放入到二级缓存里面,其他的SqlSession就可以直接从二级缓存里面去加载数据,
2024-12-03 20:17:32
166
原创 JVM垃圾回收(GC)
堆区包含了两块区域:新生代Young和老年代Old新生代包含了两块区域:幸存区Survivor0,幸存区Survivor1。
2024-12-03 20:02:53
587
原创 聚集索引和非聚集索引
聚集索引InnoDB的数据文件.frm和数据文件.ibd,其中.ibd中存放数据和索引信息,在InnoDB中数据和索引信息是存放在一起的表的数据行都存放在树的叶子结点当中。由于索引和数据都保存在同一个B树当中,所以聚集索引在搜索时要少一次磁盘的I/O查询,会比非聚集索引要快非聚集索引MyISAM的索引文件.MYI和数据文件.MYD是分开存放的在叶子节点当中保存了指向数据的指针非聚集索引要先索引到对应的指针,然后再根据地址去获取数据
2024-11-29 10:06:29
162
原创 Redis三剑客【击穿、雪崩、穿透】
高并发时,当一个key非常热点时,在不停扛着大量的并发,当在这个key失效的瞬间,持续的大并发就会穿破缓存,直接请求到数据库中,大量的请求会导致数据库承受非常大的压力,多次查询同一个结果到不同的线程,会导致性能的浪费。请求的数据redis中没有,数据库中也没有。如果有大量的请求恶意请求,请求Redis和MySQL中没有的信息,就会直接穿透Redis直接请求得数据库。缓存集中过期,或者缓存服务器宕机,导致大量的请求访问数据库,造成数据库瞬间压力过大,导致宕机,数据库挂了,会导致整个系统都不可用。
2024-11-29 09:43:12
223
原创 SpringBoot 配置 WebSocket
别把运行文件文件写到项目(我的是usercenter)文件外面了,这样Springboot扫不到这个文件,我这bug找了一天。这个就是WebSocket的服务,把它当成Controller层写就行。这些搞完你就可以写了,大家都是这么写的,拿Postman测一下就行。这个添加到config文件里面。,记得访问的ws链接也加上。
2024-11-09 12:10:31
311
原创 使用docker配置服务器时,由于docker被误关闭,本地ssh访问docker爆 [Connection refused]
ssh 连接 docker
2024-10-14 22:38:49
247
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅