在固定超时内缓存单个对象的最佳方法是什么?
Google Guava 有 CacheBuilder,允许使用过期密钥创建 ConcurrentHash,从而允许在固定 tiemout 后删除条目。但是我只需要缓存某种类型的一个实例。
使用 Google Guava 在固定超时内缓存单个对象的最佳方法是什么?
Google Guava has CacheBuilder that allows to create ConcurrentHash with expiring keys that allow to remove entries after the fixed tiemout. However I need to cache only one instance of certain type.
What is the best way to cache single object within fixed timeout using Google Guava?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我会使用 Guava 的 Suppliers.memoizeWithExpiration(供应商委托,长持续时间,TimeUnit 单位)
使用 JDK 8 更新
今天,我会以不同的方式编写此代码,使用 JDK 8 方法引用和构造函数注入来获得更清晰的代码:
I'd use Guava's Suppliers.memoizeWithExpiration(Supplier delegate, long duration, TimeUnit unit)
Update with JDK 8
Today, I would write this code differently, using JDK 8 method references and constructor injection for cleaner code: