我们将此API用于我们的呼叫中心订购系统,即我们的在线订购通信。 但是很多请求和响应都是相同的,或多或少是静态的 - 但API服务器生成它们,它不仅仅提供静态文件。缓存XML响应
作为缓存XML响应的最佳方法,您有何建议?我看了一下Zend_Cache。但根据我的理解,我认为这是基于客户端/会话的,我希望所有客户端都能利用相同的缓存。
此外,每个综合浏览量都会为篮子的内容做一个pricerequest,您对此建议使用什么样的缓存。我认为Zend_Cache也许可以在这里发挥作用!?
基本上我需要的是承担API服务器的负载,因此它有更多的资源来处理价格请求以及其他每个请求发生更改的请求。
更新:13. 2010年12月10.45
请求定时
2010-12-10T14:43:46+01:00 DEBUG (7): XML GET /ccstatus [0.054742097854614]
2010-12-10T14:43:46+01:00 DEBUG (7): XML GET /storestatus [0.063634157180786]
2010-12-10T14:43:46+01:00 DEBUG (7): XML GET /storestatus [0.062693119049072]
2010-12-10T14:43:46+01:00 DEBUG (7): XML GET /storestatus [0.062756061553955]
2010-12-10T14:43:46+01:00 DEBUG (7): XML GET /storestatus [0.062740087509155]
2010-12-10T14:43:46+01:00 DEBUG (7): XML GET /storelocations [0.065214872360229]
2010-12-10T14:43:46+01:00 DEBUG (7): XML GET /coupons [0.070861101150513]
2010-12-10T14:43:47+01:00 DEBUG (7): XML GET /packagedeals [0.51115489006042]
2010-12-10T14:43:47+01:00 DEBUG (7): XML POST /price [0.065691947937012]
2010-12-10T14:43:47+01:00 DEBUG (7): XML GET /pizzas [0.10685706138611]
2010-12-10T14:43:47+01:00 DEBUG (7): XML GET /bevtypes [0.059874057769775]
2010-12-10T14:43:47+01:00 DEBUG (7): XML GET /bevsizes [0.056848049163818]
2010-12-10T14:43:47+01:00 DEBUG (7): XML GET /items [0.070401191711426]
2010-12-10T14:43:47+01:00 DEBUG (7): XML GET /storestatus [0.062546014785767]
2010-12-10T14:43:47+01:00 DEBUG (7): XML GET /storestatus [0.063254117965698]
2010-12-10T14:43:47+01:00 DEBUG (7): XML GET /storestatus [0.062647104263306]
2010-12-10T14:43:47+01:00 DEBUG (7): XML GET /storestatus [0.062632083892822]
2010-12-10T14:43:47+01:00 DEBUG (7): XML GET /storestatus [0.062486886978149]
2010-12-10T14:43:47+01:00 DEBUG (7): XML GET /items [0.059072017669678]
2010-12-10T14:43:47+01:00 DEBUG (7): XML GET /storestatus [0.062618970870972]
2010-12-10T14:43:48+01:00 DEBUG (7): XML POST /price [0.063409805297852]
这是一个单一网页浏览请求,显示侧的订单页面,和篮包含2项。
基于这些时间,你认为我会通过缓存数据获得相当大的差异吗?这些时间完全没有负载,因此在高负载情况下缓存可能派上用场。
伟大的想法:)关于价格请求,我想在会话中保存最后一个响应,并且只更新/刷新响应,如果有任何更改篮子的内容。但是你可能是对的,我可能会将更多或更少的静态请求存储在一个文件中。我已经更新了最初的帖子,列出了每个请求从API获取的日志记录 – Phliplip 2010-12-13 09:32:11
正确的是,如果篮子没有变化,就不需要做新的价格申请。接得好。 ;-) – 2010-12-13 11:03:54
接受你的答案,因为我使用了Zend_Cache文件和一个cron作业来更新缓存。我们立即看到在线订购的加载时间下降了50%:)没有科学的方法,只需点击链接即可加载计数秒。 – Phliplip 2010-12-14 07:50:46