zoukankan      html  css  js  c++  java
  • Guava缓存demo

        /**
         * 从缓存中获取AccessToken
         * @param type 冗余参数(没有填"")
         * @return
         */
        private static String getAccessToken(String type) {
            try {
                return accessTokenCache.get(type);
            } catch (ExecutionException e) {
                throw new RuntimeException(e);
            }
        }
    
        /**
         * Guava缓存 将AccessToken缓存29天
         */
        private static LoadingCache<String,String> accessTokenCache = CacheBuilder.newBuilder()
                .expireAfterWrite(CATCH_TIME, TimeUnit.DAYS)
                .build(new CacheLoader<String, String>() {
                    @Override
                    public String load(String s) throws Exception {
                        String result = "";
                        //调用sendGetRequest方法发送url,并获取百度返回的结果json,处理结果
                        String url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=APIKEY&client_secret=SECRETKEY";
                        String requsetURL = url.replaceAll("APIKEY",API_KEY).replaceAll("SECRETKEY",SECRET_KEY);
                        String response = sendPost(requsetURL,"");//发送请求
                        //JSON -> Map 使用fastjson工具类
                        Map<String,Object> map = JSON.parseObject(response, HashMap.class);
                        if(map != null && !map.isEmpty()){
                            result = map.get("access_token").toString();
                        }
                        return result;
                    }
                });
    

      

  • 相关阅读:
    键盘输入thisisunsafe
    vscode
    iterm2 rz sz
    homebrew镜像更换
    mac
    homebrew下载不成功
    shutil:高层文件操作
    tempfile:临时文件系统对象
    linecache:读取文本文件的指定内容
    fnmatch:Unix式glob模式匹配,简单场景下可以代替正则
  • 原文地址:https://www.cnblogs.com/speily/p/9055732.html
Copyright © 2011-2022 走看看