Guava Cache,Java本地内存缓存使用实践

Guava Cache,网上介绍很多,我就不赘述了。

分享一篇好的文章:

Guava Cache内存缓存使用实践-定时异步刷新及简单抽象封装

Google Guava 3-缓存

在原作者基础上,我做了一些修改:

public  void loadValueWhenStarted(){
}

该方法不再定义为抽象方法。没必要抽象,当有使用场景的时候子类重载该方法不就完了嘛。

作者也没有给出使用示例,这里提供一个我的使用示例:

@Log4j2
public class DataIdCache extends BaseGuavaCache<Long, String> {

        @Override
        protected String getValueWhenExpired(Long id) throws Exception {
                // do sth
                return dataDAO.getDataById(id);
        }
}

使用起来也非常简单:

private static DataIdCache dataIdCache = new DataIdCache();

public void fun(){
// ---
   dataIdCache.getValue(id);
// ---
}