代码拉取完成,页面将自动刷新
同步操作将从 Gitee Community/bullshit-codes 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
public class RedisCache {
private static final Logger logger = LoggerFactory.getLogger(RedisCache.class);
private static final long MAX_SIZE = 2048;
private static final long EXPIRE = 15; //可适当调大
private LoadingCache<String, Optional<SysLan>> lanCache;
@PostConstruct
public void init() {
lanCache = CacheBuilder.newBuilder().maximumSize(MAX_SIZE)
.expireAfterWrite(EXPIRE, TimeUnit.MINUTES).build(new CacheLoader<String, Optional<SysLan>>() {
@Override
public Optional<SysLan> load(String key) throws Exception {
// https://blog.csdn.net/codingtu/article/details/89577316
return loadLanData(key);
}
});
}
private Optional<SysLan> loadLanData(String key) {
SysLan sysLan = null;
if (null == redisManager) {
return null;
}
String value = redisManager.get("slan:" + key);
if (StringUtils.isNotBlank(value)) {
sysLan = JSONObject.parseObject(value, SysLan.class);
return Optional.of(sysLan);
}
return Optional.empty();
}
/****** java.util.NoSuchElementException: No value present *****/ 滥用Optional,本意是想解决 cacheloader returned null for key
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。