如何使用hutool做本地缓存的工具类
更新时间:2022年10月28日 08:38:31 作者:阿拉的梦想
这篇文章主要介绍了如何使用hutool做本地缓存的工具类,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
用hutool做本地缓存的工具类
gradle中引入hutool依赖
implementation group: 'cn.hutool', name: 'hutool-all', version: '5.8.4'
本地缓存工具类
package com.demo.devops.common.cache; import cn.hutool.cache.CacheUtil; import cn.hutool.cache.impl.TimedCache; import cn.hutool.core.date.DateUnit; /** * @createTime 2022年07月30日 14:50:00 */ public class LocalCache { /** * 默认缓存时长 */ private static final long DEFAULT_TIMEOUT = 5 *DateUnit.MINUTE.getMillis(); /** * 默认清理间隔时间 */ private static final long CLEAN_TIMEOUT = 5 * DateUnit.MINUTE.getMillis(); /** * 缓存对象 */ private static final TimedCache<String, Object> TIMED_CACHE = CacheUtil.newTimedCache(DEFAULT_TIMEOUT); static { //启动定时任务 TIMED_CACHE.schedulePrune(CLEAN_TIMEOUT); } public static void set(String key, Object value) { TIMED_CACHE.put(key, value); } public static void set(String key, Object value, long expire) { TIMED_CACHE.put(key, value, expire); } /** * 获取并重新计算过期时间 */ public static Object getWithUpdateLastAccess(String key) { return TIMED_CACHE.get(key); } /** * 获取 * * @param key * @return */ public static Object get(String key) { return TIMED_CACHE.get(key, false); } public static Set<String> keySet() { return TIMED_CACHE.keySet(); } public static void remove(String key) { TIMED_CACHE.remove(key); } public static void clear() { TIMED_CACHE.clear(); } public static class Constants { public static final String DICT_LIST_PREFIX = "dict:list:"; public static final String DICT_ONE_PREFIX = "dict:one:"; public static final String DICT_MAP_PREFIX = "dict:map:"; public static final String SCRIPT = "script:"; } }
关于hutools工具包的常用方法
近期接触的一个项目用到了hutools工具框架,以前没有接触该框架,发现该工具框架真是强大,是真香啊!所以把我项目中用到的工具类的使用情况记录下。
HttpUtil类
1、发送get请求【方式一特点:直接发送get请求】
String url = "http://www.baidu.com/getUserInfo?user_id="; url +="LSL"; String repsStr = HttpUtil.get(String.format(url));//发送get请求,并获取response JSONObject jsonObject = JSON.parseObject(repsStr); JSONObject data = jsonObject.getJSONObject("data"); String userName = data.getString("userName");
2、发送get请求【方式二特点:添加报文头在发送get请求】
String url = "http://www.baidu.com/getUserInfo?user_id="; url +="LSL"; cn.hutool.http.HttpRequest httpq = HttpUtil.createGet(url);//创建get请求 Map<String,String> headerMap = new HashMap<>; headerMap.put("author","mjx"); httpq.addHeaders(headerMap);//添加header String reps = httpq.execute().body();//发送get请求,获取response JSONObject jsonObject = JSON.parseObject(reps ); JSONObject data = jsonObject.getJSONObject("data"); String userName = data.getString("userName");
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring关闭Tomcat Servlet容器时内存泄漏问题解决方案
这篇文章主要介绍了Spring关闭Tomcat Servlet容器时内存泄漏问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-10-10java8新特性将List中按指定属性排序过滤重复数据的方法
这篇文章主要介绍了java8新特性将List中按指定属性排序过滤重复数据的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下2019-08-08Java FileInputStream读中文乱码问题解决方案
这篇文章主要介绍了Java FileInputStream读中文乱码问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-10-10
最新评论