package test01;
import cn.hutool.cache.CacheUtil;
import cn.hutool.cache.impl.TimedCache;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.shylFm.web.util.Redis.RedisCache;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.concurrent.TimeUnit;
public class Main {
private TimedCache<Object, Object> cache = CacheUtil.newTimedCache(7200 * 1000);
public String WXgetAccessToken() {
String accessToken = String.valueOf(cache.get("accessToken"));
if (StrUtil.isEmptyOrUndefined(accessToken)) {
String appid = "";
String secret = "";
String data_str = HttpUtil.get("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret);
accessToken = JSONUtil.parseObj(data_str).getStr("access_token");
cache.put("accessToken", accessToken);
}
return accessToken;
}
@Autowired
public RedisCache redisCache;
public String redisGetAccessToken() {
String accessToken = String.valueOf(redisCache.getCacheObject("accessToken"));
if (StrUtil.isEmptyOrUndefined(accessToken)) {
String appid = "";
String secret = "";
String data_str = HttpUtil.get("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret);
accessToken = JSONUtil.parseObj(data_str).getStr("access_token");
redisCache.setCacheObject("accessToken", accessToken, 7200 * 1000, TimeUnit.MILLISECONDS);
}
return accessToken;
}
}
再推一波
https://blog.csdn.net/Chen_chenjiasheng/article/details/123879383?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164916029716780261988084%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=164916029716780261988084&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-123879383.nonecase&utm_term=redis&spm=1018.2226.3001.4450