如何通过hutool实现本地缓存功能?

2026-05-26 00:501阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计557个文字,预计阅读时间需要3分钟。

如何通过hutool实现本地缓存功能?

目录- 本地缓存工具类- Gradle中引入hutool依赖- 本地缓存工具类- hutools工具包常用方法- HttpUtil类- 使用hutool做本地缓存工具类- Gradle中引入hutool依赖- implementation - group: 'cn.hutool'

如何通过hutool实现本地缓存功能?

目录
  • 用hutool做本地缓存的工具类
    • gradle中引入hutool依赖
  • 本地缓存工具类
    • 关于hutools工具包的常用方法
      • HttpUtil类

    用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请求

    String url = "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请求

    String url = "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");

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

    标签:工具

    本文共计557个文字,预计阅读时间需要3分钟。

    如何通过hutool实现本地缓存功能?

    目录- 本地缓存工具类- Gradle中引入hutool依赖- 本地缓存工具类- hutools工具包常用方法- HttpUtil类- 使用hutool做本地缓存工具类- Gradle中引入hutool依赖- implementation - group: 'cn.hutool'

    如何通过hutool实现本地缓存功能?

    目录
    • 用hutool做本地缓存的工具类
      • gradle中引入hutool依赖
    • 本地缓存工具类
      • 关于hutools工具包的常用方法
        • HttpUtil类

      用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请求

      String url = "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请求

      String url = "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");

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

      标签:工具