目前微服务是企业项目运用比较多,但经常存在需要频繁调用其他模块的情况(调上千次),会导致服务崩溃。比如我遇到的在导入文件时需要对省市区进行校验,数量到达两三千时就会出问题,所以将省市区时行缓存,每次从缓存中获取数据,减少服务的调用。表结构如下:
level:1--省 2--市 3--区
抽象接口:AbstractCacheService
package com.navasmart.platform.api.cache;
import com.github.navagraha.scwbasecore.utils.DateTimeUtils;
import com.navasmart.platform.api.entity.infrastruture.InfraDict;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
public abstract class AbstractCacheService {
/**
* <p>上次缓存更新时间
*/
protected LocalDateTime lastUpdate = LocalDateTime.now();
private Map<String, InfraDict> cacheMap = new HashMap<>();
/**
* <p>获取应该需要缓存的信息
*
* @return ma