本地缓存

package com.fh.interview.cache;

import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;

import java.util.concurrent.Callable;

/**
 * 缓存相关
 * FIFO:First In First Out,先进先出。判断被存储的时间,离目前最远的数据优先被淘汰。
 * LRU:Least Recently Used,最近最少使用。判断最近被使用的时间,目前最远的数据优先被淘汰。
 * LFU:Least Frequently Used,最不经常使用。在一段时间内,数据被使用次数最少的,优先被淘汰。
 *
 * 本地缓存可以使用HashMap,ConcurrentHashMap,LinkedHashMap(非线程安全的removeEldestEntry(缓存淘汰))
 *
 * 可以使用EhCache
 * 支持堆内,堆外,磁盘缓存
 * 堆内、堆外、磁盘三级缓存。
 可按照缓存空间容量进行设置。
 按照时间、次数等过期策略。
 *
 * @author
 * @create 2018-06-09 下午4:34
 **/
public class CacheDemo {

    public static void main(String[] args)throws Exception {
        //Guava --只支持堆内缓存
        Cache<Object,Object> cache = CacheBuilder.newBuilder().maximumSize(1000).build();

        cache.get("", new Callable<Object>() {
            @Override
            public Object call() throws Exception {
                return null;
            }
        });
    }
}

猜你喜欢

转载自www.cnblogs.com/nihaofenghao/p/9160280.html