我们正在使用RESTEasy 2.2.3.GA提供的LightweightBrowserCache
,但是注意到当达到缓存大小限制时,缓存会被完全清除。显然,这会严重降低缓存命中的可能性,因为最常用的项目无法保留在缓存中。
我们想要创建一个更复杂的实现(例如,基于Ehcache),当达到大小限制时,它将驱逐最近最少使用的项目。
org.jboss.resteasy.client.cache.BrowserCache
良好的开源实现?或
org.jboss.resteasy.client.cache.BrowserCache
如果是,您是否知道我们应该小心避免的任何问题?答案 0 :(得分:2)
我们已经将Apache HTTP Client及其缓存组件与RestEasy Client Framework一起使用,以克服LightweightBrowserCache的这一限制。 RestEasy允许与Apache HTTP Client Component集成,详细信息可以在RestEasy文档中找到。
答案 1 :(得分:0)
您可以尝试使用Resteasy默认缓存技术。
当响应为200 OK时,仅对GET请求缓存响应,
测试环境:Jboss6.4和maven 3.0
依赖:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-cache-core</artifactId>
<version>Any version after 3.0</version>
</dependency>
代码更改:在应用程序类中为ServerCacheFeature添加单例。
singletons.add(new ServerCacheFeature());
将此注释添加到您的函数中:
@Cache(maxAge=15, mustRevalidate = false, noStore = false, proxyRevalidate = false, sMaxAge = 15)
noStore可用于启用/禁用缓存resp