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;
                    }
                });
    

      

  • 相关阅读:
    linux 计划任务
    linux 进程管理
    PHP中global与$GLOBALS['']的区别
    php预定义变量
    linux 强制终止进程命令
    mysql取某表中数据的随机的方法
    mysql 连接 选库 查询
    Python 的异步 IO:Asyncio 简介
    并发和并行的区别
    asyncio模块中的Future和Task
  • 原文地址:https://www.cnblogs.com/speily/p/9055732.html
Copyright © 2011-2022 走看看