All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.xiaoleilu.hutool.cache.CacheUtil Maven / Gradle / Ivy

package com.xiaoleilu.hutool.cache;

import com.xiaoleilu.hutool.cache.impl.FIFOCache;
import com.xiaoleilu.hutool.cache.impl.LFUCache;
import com.xiaoleilu.hutool.cache.impl.LRUCache;
import com.xiaoleilu.hutool.cache.impl.NoCache;
import com.xiaoleilu.hutool.cache.impl.TimedCache;

/**
 * 缓存工具类
 * @author Looly
 *@since 3.0.1
 */
public class CacheUtil {
	
	/**
	 * 创建FIFO(first in first out) 先进先出缓存.
	 * 
	 * @param capacity 容量
	 * @param timeout 过期时长
	 * @return {@link FIFOCache}
	 */
	public static  Cache newFIFOCache(int capacity, long timeout){
		return new FIFOCache(capacity, timeout);
	}
	
	/**
	 * 创建FIFO(first in first out) 先进先出缓存.
	 * 
	 * @param capacity 容量
	 * @return {@link FIFOCache}
	 */
	public static  Cache newFIFOCache(int capacity){
		return new FIFOCache(capacity);
	}
	
	/**
	 * 创建LFU(least frequently used) 最少使用率缓存.
	 * 
	 * @param capacity 容量
	 * @param timeout 过期时长
	 * @return {@link LFUCache}
	 */
	public static  Cache newLFUCache(int capacity, long timeout){
		return new LFUCache(capacity, timeout);
	}
	
	/**
	 * 创建LFU(least frequently used) 最少使用率缓存.
	 * 
	 * @param capacity 容量
	 * @return {@link LFUCache}
	 */
	public static  Cache newLFUCache(int capacity){
		return new LFUCache(capacity);
	}
	
	
	/**
	 * 创建LRU (least recently used)最近最久未使用缓存.
	 * 
	 * @param capacity 容量
	 * @param timeout 过期时长
	 * @return {@link LRUCache}
	 */
	public static  Cache newLRUCache(int capacity, long timeout){
		return new LRUCache(capacity, timeout);
	}
	
	/**
	 * 创建LRU (least recently used)最近最久未使用缓存.
	 * 
	 * @param capacity 容量
	 * @return {@link LRUCache}
	 */
	public static  Cache newLRUCache(int capacity){
		return new LRUCache(capacity);
	}
	
	/**
	 * 创建定时缓存.
	 * 
	 * @param timeout 过期时长
	 * @return {@link TimedCache}
	 */
	public static  Cache newTimedCache(long timeout){
		return new TimedCache(timeout);
	}
	
	/**
	 * 创建无缓存实现.
	 * 
	 * @return {@link NoCache}
	 */
	public static  Cache newNoCache(){
		return new NoCache();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy