本地缓存

Posted nihaofenghao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了本地缓存相关的知识,希望对你有一定的参考价值。

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;
            }
        });
    }
}

 

以上是关于本地缓存的主要内容,如果未能解决你的问题,请参考以下文章

Android主流视频播放及缓存实现原理调研

Android获取各个应用程序的缓存文件代码小片段(使用AIDL)

是否可以使用 AVPlayer 缓存 HLS 段?

根据图片的url地址下载图片到本地保存代码片段

如何缓存片段视图

phalcon: 缓存片段,文件缓存,memcache缓存