如何使用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 {
//啟動定時任務(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)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
Spring關(guān)閉Tomcat Servlet容器時內(nèi)存泄漏問題解決方案
這篇文章主要介紹了Spring關(guān)閉Tomcat Servlet容器時內(nèi)存泄漏問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10
java8新特性將List中按指定屬性排序過濾重復(fù)數(shù)據(jù)的方法
這篇文章主要介紹了java8新特性將List中按指定屬性排序過濾重復(fù)數(shù)據(jù)的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08
Java FileInputStream讀中文亂碼問題解決方案
這篇文章主要介紹了Java FileInputStream讀中文亂碼問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10

