这里本地缓存的含义是 多个线程公用的一个静态的Map对象
作用是减少db或cache的查询次数。
使用场景为静态或者非敏感数据。
也可以使用google的guava cache等
缓存类
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
import java.util.HashMap;
import java.util.Map;
public class LocalCache {
//缓存Map
private static Map<String,CacheContent> map = new HashMap<>();
private static LocalCache localCache = new LocalCache();
private LocalCache(){
}
public String getLocalCache(String key) {
CacheContent cc = map.get(key);
if(null == cc) {
return null;
}
long currentTime = System.currentTimeMillis();
if(cc.getCacheMillis() > 0 && currentTime - cc.getCreateTime() > cc.getCacheMillis()) {
//超过缓存过期时间,返回null
map.remove(key);
return null;
} else {
r