1

我的应用程序将 http 请求发送到 Web 服务,但由于服务条款将其限制为每秒一次查询,因此不要发送超过我需要的查询,这对我来说非常重要。我将一些查询的结果放入数据库中,在再次尝试查询之前检查该数据库,但有些查询结果不太适合放入数据库,所以我想要某种愚蠢的缓存来拦截我的 web 服务调用,如果调用是重复只是发送上一次调用的结果。我希望能够配置缓存的大小并让它在填满时自动删除最旧的条目,如果缓存可以配置为文件而不是使用堆内存,那就太好了,因为我的应用程序已经相当内存密集型

4

1 回答 1

1

对于简单的缓存解决方案,请尝试Google Guava 库。CacheBuilder/CacheLoader 可以根据您的要求进行配置。Guava 提供了一个简单的缓存解决方案,它比 java 自己的 HashMap 更复杂,但与 Ehcache 等相比重量轻。此缓存可用于帮助决定是否启动 Web 服务调用的 Web 服务请求拦截器。

可以在此处找到带有 Guava 缓存示例的好教程

于 2013-06-27T16:16:43.440 回答