mirror of
https://gitee.com/dromara/hutool.git
synced 2025-04-05 17:37:59 +08:00
CacheUtil.newTimedCache增加有schedulePruneDelay参数的重载方法
This commit is contained in:
parent
0b9b578f61
commit
cab1cade77
@ -2,7 +2,7 @@
|
||||
# 🚀Changelog
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
# 5.8.28(2024-04-16)
|
||||
# 5.8.28(2024-04-18)
|
||||
|
||||
### 🐣新特性
|
||||
* 【core 】 修正XmlUtil的omitXmlDeclaration描述注释(issue#I9CPC7@Gitee)
|
||||
@ -10,6 +10,7 @@
|
||||
* 【extra 】 设置jsch登录认证方式,跳过Kerberos身份验证(pr#3530@Github)
|
||||
* 【extra 】 增加设置验证码大小和针对alias注释(pr#3533@Github)
|
||||
* 【json 】 JSONConfig增加setWriteLongAsString可选是否将Long写出为String类型(issue#3541@Github)
|
||||
* 【cache 】 CacheUtil.newTimedCache增加有schedulePruneDelay参数的重载方法(issue#I9HO25@Gitee)
|
||||
|
||||
### 🐞Bug修复
|
||||
* 【http 】 修复HttpUtil.urlWithFormUrlEncoded方法重复编码问题(issue#3536@Github)
|
||||
|
@ -9,58 +9,59 @@ import cn.hutool.cache.impl.WeakCache;
|
||||
|
||||
/**
|
||||
* 缓存工具类
|
||||
*
|
||||
* @author Looly
|
||||
*@since 3.0.1
|
||||
* @since 3.0.1
|
||||
*/
|
||||
public class CacheUtil {
|
||||
|
||||
/**
|
||||
* 创建FIFO(first in first out) 先进先出缓存.
|
||||
*
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param capacity 容量
|
||||
* @param timeout 过期时长,单位:毫秒
|
||||
* @param timeout 过期时长,单位:毫秒
|
||||
* @return {@link FIFOCache}
|
||||
*/
|
||||
public static <K, V> FIFOCache<K, V> newFIFOCache(int capacity, long timeout){
|
||||
public static <K, V> FIFOCache<K, V> newFIFOCache(int capacity, long timeout) {
|
||||
return new FIFOCache<>(capacity, timeout);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建FIFO(first in first out) 先进先出缓存.
|
||||
*
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param capacity 容量
|
||||
* @return {@link FIFOCache}
|
||||
*/
|
||||
public static <K, V> FIFOCache<K, V> newFIFOCache(int capacity){
|
||||
public static <K, V> FIFOCache<K, V> newFIFOCache(int capacity) {
|
||||
return new FIFOCache<>(capacity);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建LFU(least frequently used) 最少使用率缓存.
|
||||
*
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param capacity 容量
|
||||
* @param timeout 过期时长,单位:毫秒
|
||||
* @param timeout 过期时长,单位:毫秒
|
||||
* @return {@link LFUCache}
|
||||
*/
|
||||
public static <K, V> LFUCache<K, V> newLFUCache(int capacity, long timeout){
|
||||
public static <K, V> LFUCache<K, V> newLFUCache(int capacity, long timeout) {
|
||||
return new LFUCache<>(capacity, timeout);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建LFU(least frequently used) 最少使用率缓存.
|
||||
*
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param capacity 容量
|
||||
* @return {@link LFUCache}
|
||||
*/
|
||||
public static <K, V> LFUCache<K, V> newLFUCache(int capacity){
|
||||
public static <K, V> LFUCache<K, V> newLFUCache(int capacity) {
|
||||
return new LFUCache<>(capacity);
|
||||
}
|
||||
|
||||
@ -68,50 +69,66 @@ public class CacheUtil {
|
||||
/**
|
||||
* 创建LRU (least recently used)最近最久未使用缓存.
|
||||
*
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param capacity 容量
|
||||
* @param timeout 过期时长,单位:毫秒
|
||||
* @param timeout 过期时长,单位:毫秒
|
||||
* @return {@link LRUCache}
|
||||
*/
|
||||
public static <K, V> LRUCache<K, V> newLRUCache(int capacity, long timeout){
|
||||
public static <K, V> LRUCache<K, V> newLRUCache(int capacity, long timeout) {
|
||||
return new LRUCache<>(capacity, timeout);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建LRU (least recently used)最近最久未使用缓存.
|
||||
*
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param capacity 容量
|
||||
* @return {@link LRUCache}
|
||||
*/
|
||||
public static <K, V> LRUCache<K, V> newLRUCache(int capacity){
|
||||
public static <K, V> LRUCache<K, V> newLRUCache(int capacity) {
|
||||
return new LRUCache<>(capacity);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建定时缓存,通过定时任务自动清除过期缓存对象
|
||||
*
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param timeout 过期时长,单位:毫秒
|
||||
* @param schedulePruneDelay 间隔时长,单位毫秒
|
||||
* @return {@link TimedCache}
|
||||
* @since 5.8.28
|
||||
*/
|
||||
public static <K, V> TimedCache<K, V> newTimedCache(long timeout, long schedulePruneDelay) {
|
||||
final TimedCache<K, V> cache = newTimedCache(timeout);
|
||||
cache.schedulePrune(schedulePruneDelay);
|
||||
return cache;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建定时缓存.
|
||||
*
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param timeout 过期时长,单位:毫秒
|
||||
* @return {@link TimedCache}
|
||||
*/
|
||||
public static <K, V> TimedCache<K, V> newTimedCache(long timeout){
|
||||
public static <K, V> TimedCache<K, V> newTimedCache(long timeout) {
|
||||
return new TimedCache<>(timeout);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建弱引用缓存.
|
||||
*
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param <K> Key类型
|
||||
* @param <V> Value类型
|
||||
* @param timeout 过期时长,单位:毫秒
|
||||
* @return {@link WeakCache}
|
||||
* @since 3.0.7
|
||||
*/
|
||||
public static <K, V> WeakCache<K, V> newWeakCache(long timeout){
|
||||
public static <K, V> WeakCache<K, V> newWeakCache(long timeout) {
|
||||
return new WeakCache<>(timeout);
|
||||
}
|
||||
|
||||
@ -122,7 +139,7 @@ public class CacheUtil {
|
||||
* @param <V> Value类型
|
||||
* @return {@link NoCache}
|
||||
*/
|
||||
public static <K, V> NoCache<K, V> newNoCache(){
|
||||
public static <K, V> NoCache<K, V> newNoCache() {
|
||||
return new NoCache<>();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user