适应如下场景:关联表多,接口响应慢,报表数据不多,可能就十多行。参数也固定,实时性要求不高,隔那么半小时刷新一次,查询性能要求高,给领导看的,要求很快。
使用示例:
// 主打一个简单高效粗爆,ConcurrentHashMap也懒得用了。private final static Map<String, MemberEnterCompositeVo> CACHE = new HashMap<>();public void handleContext(FindMemberByStationSelectRequest context) {// 缓存键String areaId = context.getParentEnterAreaId();MemberEnterCompositeVo result = CACHE.get(areaId);if (null == result) {result = findItemCount(areaId);CACHE.put(areaId, result);} else {// 比对下是否有效Long expire= result.getExpire();// 有效期小于当前时间,过期了if (expire< now) {result = findItemCount(areaId);CACHE.put(areaId, result);}}context.setResult(result);}