1.Caffeine 是基于Java 8的高性能,接近最佳的缓存库。
2.LRUMap则是实现的LRP算法的Map集合类,它继承于AbstractLinkedMap抽象类。
主要依赖
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
</dependency>
通用工具类代码
import com.github.benmanes.caffeine.cache.*;
import org.apache.commons.collections4.map.LRUMap;
import org.apache.commons.lang3.StringUtils;
import java.util.concurrent.*;
/**
* @author beike
*/
public class IdempotentUtils {
/**
* 根据 LRU(Least Recently Used,最近最少使用)算法淘汰数据的 Map 集合,最大容量 100 个
*/
private static final LRUMap<String, Integer> REQ_CACHE = new LRUMap<