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