我正在开展一个非常频繁地需要REsT webservice调用的项目。我们正在使用Apache Outh2来制作
但是,每次WS调用需要花费更多时间来响应。 只是想知道在这种情况下优化WS调用的方法是什么,以便减少内容加载时间?
答案 0 :(得分:5)
如果在应用程序中使用spring,则可以考虑 spring的缓存。
缓存是隐藏的,它会提高应用程序的性能,但可以通过快速方式多次读取相同的数据来实现。
如 Spring Documentation:
中所述抽象的核心是将缓存应用于Java方法,从而减少了基于缓存中可用信息的执行次数。 也就是说,每次调用目标方法时,抽象都将应用缓存行为,检查是否已经执行了该方法给定的参数。如果有,则然后返回缓存的结果而不必执行实际方法; 如果没有,则执行方法,结果缓存并返回给用户,以便下次调用方法,返回缓存的结果。这样,昂贵的方法(无论是CPU还是IO绑定)只能对给定的一组参数执行一次,并且重用结果而不必再次实际执行该方法。缓存逻辑是透明应用的,不会对调用者造成任何干扰。
@Cacheable("books")
public Book findBook(ISBN isbn) {...}
在上面的代码段中,方法findBook与名为books的缓存相关联。每次调用该方法时,都会检查缓存以查看调用是否已经执行,并且不必重复。
这只是一个让您了解弹簧缓存的示例。这个例子已经在他们的官方网站上提供,你可以参考并从here获得详细的知识。
您还可以找到here的更多示例。
答案 1 :(得分:1)