srv*_*srv 4 java jsp caching web-applications
我在应用程序范围内存储数据.我想在每小时后清除这些数据.实际上使用它作为缓存一小时.实现这个的最佳方法是什么?之前我们使用会话范围来存储这些数据,并且在会话到期后它过去会过期.由于此数据在整个应用程序中是唯一的,因此我们希望将其存储在应用程序范
对于一个非常简单的缓存,您可以使用Google番石榴的MapMaker:以下是从javadoc中获取的示例:
ConcurrentMap<Key, Graph> graphs = new MapMaker()
.concurrencyLevel(4)
.softKeys()
.weakValues()
.maximumSize(10000)
.expireAfterWrite(10, TimeUnit.MINUTES)
.makeComputingMap(
new Function<Key, Graph>() {
public Graph apply(Key key) {
return createExpensiveGraph(key);
}
});
Run Code Online (Sandbox Code Playgroud)
有这两种方法expireAfterWrite和expireAfterRead来做你想要的东西.并且免费提供线程安全Map,如果你需要/需要它,有弱值,软键和懒惰评估:)
| 归档时间: |
|
| 查看次数: |
5512 次 |
| 最近记录: |