何为缓存?本地缓存类似于map,当给定一个key,首先查找缓存中是否已经有值了,如果有则直接返回数据;相反如果不存在这样的key,则将新的内容value值缓存起来,以便下一次来查询,可以快速返回。
当然缓存不是说value值一直不变,会按照一定的失效策略来更新缓存中的数据。
缓存的常用使用场景有:
(1)在高并发的数据库访问时,为了抗住数据库并发连接压力,将数据缓存起来,当有请求过来,直接返回数据;
(2)当应用综的数据,更新周期较长,而且每次都查数据库的情况下,可以采用周期更新数据,从而有效减少数据库无效的访问,保证效率;
google的guava库中有实现了localcache的现成方法,可以在应用中快速构建本地缓存。
在缓存中,最为重要的失效策略和唯一key的确定;
基于时间的移除
guava提供了两个基于时间移除的方法
expireAfterAccess(l