自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 项目配置多Redis数据源(Redis分片)

背景   随着项目使用量的增长,前期为解决高峰请求设置大量缓存应对的方式对单一Redis的压力越来越大,经常收到大量报警,网络IO占用很大,因此打算进行Redis分片,将流量较均衡分散到多台Redis上。 目标 支持多Redis数据源; 支持@Cacheable/@CachePut/@CacheEvict缓存注解; 方案   基于jedis的ShardedJedis扩展开发,因其可以根据Jedis j = getShard(key)将key较均匀的分散到各个实例中

2020-07-03 15:52:28 1040

原创 ThreadPoolExecutor避免调用者线程参与运算的几种方案

问题 项目中用到了ThreadPoolExecutor,有一个需求场景是:不希望主线程(调用线程)参与计算。 先了解下一些前提,线程池的原理: 当提交任务时,如果当前线程池已创建的线程数小于核心线程数(corePoolSize),则创建线程去执行任务; 如果当前线程数达到了核心线程数,则将任务放入到阻塞队列(workQueue,一般用LinkedBlockingQueue); 如果...

2019-12-04 15:52:53 402

原创 使用Left join 过滤条件在on和where之后的区别

一个简单的例子:A、B表关联查询如下: select * from A left join B on A.a = B.b where A.c = xx 分析:sql先执行select * from A left join B on A.a = B.b,会将结果拼装成一个临时表,where的条件就是过滤临时表 ,如果where中有B表的约束,则就相当于inner join了(原因:获取临时表中满足...

2019-12-04 14:39:50 594 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除