我正在检索多个soap xml文件(来自同一台服务器)并创建了一个简单的php应用程序来显示,搜索并从soap xml数据添加到购物车列表。
有很多数据,即使我限制它,它的响应时间仍然太慢,无法有效地获取和设置数据(10秒+)
所以,我正在考虑采用每个相关的soap feed并每天自动将数据添加到mysql数据库中。然后直接使用数据库。在提交订单时,我将更新soap Web服务中的相关订单数据。
这是正确的做法吗?还有其他选择吗?如何执行数据库的自动更新?
答案 0 :(得分:0)
您将生成Web服务的镜像。具有优势(更好的性能)和缺点(不是实时数据)。如果你问我,我不会这样做,因为它会破坏面向服务的环境的原则。
如果要缓存SOAP服务器的响应,则您与SOAP服务器之间的HTTP代理将是最透明的方法。它会缓存响应,但您的应用程序仍然认为它是实时数据(并且可以保持不变)
此外,我会尝试加快SOAP通信。例如,您可以使用socket_select()
方法等技术同时发送多个请求。