提交 0600e1e0 编写于 作者: zhouweidong's avatar zhouweidong

同步缓存优化逻辑

上级 86d8be4c
......@@ -11,6 +11,7 @@ import java.util.Map;
import java.util.concurrent.Callable;
import cn.ibizlab.util.cache.listener.RedisPublisher;
import cn.ibizlab.util.enums.RedisChannelTopic;
import org.springframework.util.ObjectUtils;
/**
* 缓存分层类
......@@ -58,11 +59,16 @@ public class LayeringCache extends AbstractValueAdaptingCache {
@Override
public ValueWrapper get(Object key) {
ValueWrapper wrapper = caffeineCache.get(key);
log.debug("查询一级缓存 key:{},value:{}", key,wrapper);
if (wrapper == null) {
Object value= ObjectUtils.isEmpty(wrapper)?null:wrapper.get();
log.debug("查询一级缓存 key:{} ,value:{}", key,value);
if (ObjectUtils.isEmpty(value)) {
wrapper = redisCache.get(key);
caffeineCache.put(key, wrapper == null ? null : wrapper.get());
log.debug("查询二级缓存,并将数据放到一级缓存。 key:{}", key);
value=ObjectUtils.isEmpty(wrapper)?null:wrapper.get();
log.debug("查询二级缓存 key:{} ,value:{}", key,value);
if(!ObjectUtils.isEmpty(value)){
caffeineCache.put(key, value);
log.debug("查询二级缓存,并将数据放到一级缓存。 key:{} ,value:{}", key,value);
}
}
return wrapper;
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册