我們將此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