java
文章平均质量分 53
Mr__simon
这个作者很懒,什么都没留下…
展开
-
记一次OOM排查(max-http-header-size导致)
OOM排查原创 2022-08-01 15:58:39 · 1911 阅读 · 1 评论 -
java服务cpu突然飙升排查
cpu占用过高排查原创 2022-07-19 09:57:41 · 491 阅读 · 0 评论 -
自定义注解给查询加redis缓存
背景接上篇(canal同步mysql数据到redis缓存:https://blog.csdn.net/Mr__simon/article/details/123549828)所讲,mysql同步redis通过canal实现,那接下来原有项目的查询加缓存应该有两种处理方式:1. 硬编码方式,重新封装查询方法,查询时先查缓存,缓存未查到查DB;2.使用自定义注解方式,需要使用的地方加自定义注解,使用aop切面统一进行处理。方式2较方式1代码侵入性低,且便于扩展。若是新开发,开发时就用方式1进行封装查询方法..原创 2022-03-17 15:31:29 · 997 阅读 · 0 评论 -
使用canal同步mysql数据库到redis +实践策略模式
背景为提高系统性能、减小数据库压力,需要对频繁查询的数据进行缓存处理。为保证mysql和redis数据一致,网上博客一大堆缓存同步策略,最核心的问题其实还是数据修改时的数据一致性:先更新(删除)缓存再更新数据库、先更新数据库再更新(删除)缓存、延时双删等。以上所说的这些策略主要是考虑并发场景下db-redis之间的数据最终一致,如果业务场景没有多大的并发,或缓存的数据大多是配置之类不影响业务主流程的数据,其实以上策略基本也不会有问题。如果想做到数据强一致,那就只有一种方式就是串行,但是串行必然导致性..原创 2022-03-17 14:39:48 · 2925 阅读 · 2 评论 -
Springboot使用ResourceUtils.getFile()读取resource下文件的坑
先说结论,使用ResourceUtils.getFile()方法读取resource下文件,在IDEA等开发工具场景下是没问题的,但是将服务达成jar包后,执行该方法就会包错文件找不到;因此尽量不要使用该方法来读取文件,可以使用以下几种方式替代:ClassPathResource classPathResource = new ClassPathResource("excleTemplate/test.txt");InputStream inputStream =classPathResource.原创 2022-02-07 10:17:10 · 13867 阅读 · 1 评论