我的应用程序将http请求发送到Web服务,但由于服务条款将其限制为每秒一个查询,因此不要发送超出我需要的查询非常重要。我将一些查询的结果放入我在再次尝试查询之前检查的数据库中,但是一些查询结果不适合放入数据库,所以我想要某种愚蠢的缓存拦截我的webservice调用,如果调用是重复只是发送上一个呼叫的结果。我希望能够配置缓存的大小并让它自动删除最旧的条目,如果它填满,如果缓存可以配置为文件而不是使用堆内存,因为我的应用程序已经相当记忆密集
答案 0 :(得分:1)
对于简单的缓存解决方案,请尝试Google Guava libraries。可以根据您的要求配置CacheBuilder / CacheLoader。 Guava提供了一个简单的缓存解决方案,它比java自己的HashMap更加柔和,但与Ehcache和其他人相比,重量轻。此缓存可用于Web服务请求拦截器,该拦截器有助于决定是否启动Web服务调用。
可以找到一个包含番石榴缓存示例的优秀教程 here