如何使用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 { /** * 默認(rèn)緩存時長 */ private static final long DEFAULT_TIMEOUT = 5 *DateUnit.MINUTE.getMillis(); /** * 默認(rèn)清理間隔時間 */ private static final long CLEAN_TIMEOUT = 5 * DateUnit.MINUTE.getMillis(); /** * 緩存對象 */ private static final TimedCache<String, Object> TIMED_CACHE = CacheUtil.newTimedCache(DEFAULT_TIMEOUT); static { //啟動定時任務(wù) 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:"; } }
關(guān)于hutools工具包的常用方法
近期接觸的一個項目用到了hutools工具框架,以前沒有接觸該框架,發(fā)現(xiàn)該工具框架真是強大,是真香??!所以把我項目中用到的工具類的使用情況記錄下。
HttpUtil類
1、發(fā)送get請求【方式一特點:直接發(fā)送get請求】
String url = "http://www.baidu.com/getUserInfo?user_id="; url +="LSL"; String repsStr = HttpUtil.get(String.format(url));//發(fā)送get請求,并獲取response JSONObject jsonObject = ?JSON.parseObject(repsStr); JSONObject data = jsonObject.getJSONObject("data"); String userName = data.getString("userName");
2、發(fā)送get請求【方式二特點:添加報文頭在發(fā)送get請求】
String url = "http://www.baidu.com/getUserInfo?user_id="; url +="LSL"; cn.hutool.http.HttpRequest httpq = HttpUtil.createGet(url);//創(chuàng)建get請求 Map<String,String> ?headerMap = new HashMap<>; headerMap.put("author","mjx"); httpq.addHeaders(headerMap);//添加header String reps = httpq.execute().body();//發(fā)送get請求,獲取response JSONObject jsonObject = ?JSON.parseObject(reps ); JSONObject data = jsonObject.getJSONObject("data"); String userName = data.getString("userName");
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
hibernate 配置數(shù)據(jù)庫方言的實現(xiàn)方法
這篇文章主要介紹了hibernate 配置數(shù)據(jù)庫方言的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05Spring關(guān)閉Tomcat Servlet容器時內(nèi)存泄漏問題解決方案
這篇文章主要介紹了Spring關(guān)閉Tomcat Servlet容器時內(nèi)存泄漏問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10java8新特性將List中按指定屬性排序過濾重復(fù)數(shù)據(jù)的方法
這篇文章主要介紹了java8新特性將List中按指定屬性排序過濾重復(fù)數(shù)據(jù)的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08Java FileInputStream讀中文亂碼問題解決方案
這篇文章主要介紹了Java FileInputStream讀中文亂碼問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10