一种做法是资源直接保存在内存中,然后设置过期时间和LRU规则
这里需要介绍一下3种算法
1. FMU算法, 在存储器中固定一定大小的存储空间,超过固定空间后将缓存中占用最大尺寸的图片删除
2. FTU算法, 固定每张图片的缓存时限,以最后一次使用算起,超过时限后删除
3. LRU算法, 固定缓存图片数量(max_num),当图片数量超出max_num时,将缓存中最近用的最少的图片删除
在内存中保存的话,只能保存一定的量,而不能一直往里面放,需要设置数据的过期时间、LRU等算法。这里有一个方法是把常用的数据放到一个缓存中(A),不常用的放到另外一个缓存中(B)。当要获取数据时先从A中去获取,如果A中不存在那么再去B中获取。B中的数据主要是A中LRU出来的数据,这里的内存回收主要针对B内存,从而保持A中的数据可以有效的被命中。