在本地mysql数据库中缓存SOAP Web服务

时间:2013-01-16 00:20:08

标签: php mysql web-services soap

我正在检索多个soap xml文件(来自同一台服务器)并创建了一个简单的php应用程序来显示,搜索并从soap xml数据添加到购物车列表。

有很多数据,即使我限制它,它的响应时间仍然太慢,无法有效地获取和设置数据(10秒+)

所以,我正在考虑采用每个相关的soap feed并每天自动将数据添加到mysql数据库中。然后直接使用数据库。在提交订单时,我将更新soap Web服务中的相关订单数据。

这是正确的做法吗?还有其他选择吗?如何执行数据库的自动更新?

1 个答案:

答案 0 :(得分:0)

您将生成Web服务的镜像。具有优势(更好的性能)和缺点(不是实时数据)。如果你问我,我不会这样做,因为它会破坏面向服务的环境的原则。

如果要缓存SOAP服务器的响应,则您与SOAP服务器之间的HTTP代理将是最透明的方法。它会缓存响应,但您的应用程序仍然认为它是实时数据(并且可以保持不变)

此外,我会尝试加快SOAP通信。例如,您可以使用socket_select()方法等技术同时发送多个请求。