- 博客(6)
- 收藏
- 关注
原创 Spring Boot中的配置properties 和 yml 的区别
properties翻译成中文是“属性”的意思,在创建之初是用来在Spring Boot当中设置属性的。yml是YAML的缩写,全称是Yet Another Markup Language,翻译成中文是“另一种标记语言”。所以从格局上来说yml是属于天花板级别了。
2025-06-05 20:13:30
276
原创 redis缓存击穿、雪崩、穿透
redis的缓存雪崩,情况和缓存击穿类似,缓存击穿是指的一个key值失效,而缓存雪崩是指的在redis中有多个key同时失效,而多个key值中的请求全部打到数据库,从而导致数据的性能下降,甚至会宕机。比如每个key值的请求在200个左右,但是出现失效的key值的数量有几十个,此时的请求全部打到数据库,请求数超过了数据库的承受量,数据库也是招架不住的。redis的缓存击穿是指,当redis的某个key值失效后,或者说它的过期时间等于0,此时这个key值的请求会打到数据库上。这种情况属于是redis的击穿。
2025-05-25 14:58:22
748
原创 内存泄露和内存溢出
在Java语言中,由于存在了垃圾自动回收机制,所以,我们一般不用去主动释放不用的对象所占的内存,也就是理论上来说,是不会存在“内存泄露”的。但是,如果编码不当,比如,将某个对象的引用放到了全局的Map中,虽然方法结束了,但是由于垃圾回收器会根据对象的引用情况来回收内存,导致该对象不能被及时的回收。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。3. 线程数量过多,队列容量设置过大,导致OOM。
2025-05-25 14:20:33
961
原创 Mybatis的缓存机制
在默认情况下,一级缓存会对所有的非flush_cache的操作查询结果进行缓存,只要查询没有明确标记不参与缓存,并且查询实在同一个sqlsession中进行的,那么查询结果就会被缓存。3、查询条件的多样性,查询条件组合越多,或者每次查询的条件都不同,即使查询的是相同的数据表,也可能会导致缓存命中下降。④ 当一部分sql写在java文件中,一部分sql写在xml中,并且都希望开启二级缓存,则需要用到。使用缓存会带来数据一致性的问题,数据库数据变更,但缓存中没来得及变更,会造成一个脏读的情况。
2025-05-22 19:11:20
747
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人