我想使用Guava的缓存机制实现缓存。
我有一个返回地图的数据库查询,我想缓存整个地图,但让它在一定时间后过期。
我意识到Guava缓存可以作为每个项目的基础。我们提供一个密钥,Cache将从缓存中返回相应的值或获取它。
有没有办法使用Guava来获取所有内容,缓存它但在一段时间后将其超时并再次获取所有内容。
非常感谢
答案 0 :(得分:2)
您可以创建一个Supplier<Map<K,V>>
实例,从数据库中提取整个地图,然后使用Suppliers.memoizeWithExpiration
对其进行缓存。
相关: