摘要: 背景 LoadingCache是GuavaCache构建缓存实体的方法,是一个支持多线程并发读写、高性能、通用的in-heap(堆)本地缓存。 支持key不存在时按照给定的CacheLoader 的loader方法进行loading。如果有多个线程同时get一个不存在的key,那么会有一个线程负责l 阅读全文
posted @ 2022-03-11 16:13 zjcfrancis 阅读(3455) 评论(0) 推荐(0) 编辑
摘要: 背景 刷新缓存时会有线程被阻塞。为避免阻塞用户线程,把刷新线程放到后台执行。 当key过期,有新用户读取cache时,开启一个新线程去load数据库数据,用户线程返回老的值。 因此需要添加一个线程池来刷新cache。 线程池的学习与使用 ThreadPoolExecutor类 ThreadPoolE 阅读全文
posted @ 2022-03-11 14:45 zjcfrancis 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 背景 与前端交互时id通常为字符串,需要转成Long类型存入数据库 方法 转成数组 Long[] nums = (Long[]) ConvertUtils.convert(ids.spilt(","), Long.class); 转成列表 List<Long> nums = Arrays.strea 阅读全文
posted @ 2022-03-11 10:30 zjcfrancis 阅读(2907) 评论(1) 推荐(0) 编辑