簡體   English   中英

我應該為該php / mysql xml生成api使用什么緩存策略/技術

[英]What caching strategy/technology should I use for this php/mysql xml generating api

我正在開發一個基於php / mysql的api,該api通過執行多個sql查詢返回生成的xml,然后將結果集組合到單個xml字符串/文檔中。

我將有多個客戶端請求此API的各種樣式,例如:

http://domain.com/api/ / playerbio / 12345會返回球員的個人履歷,其中包括個人信息,目前的年初至今數據,職業數據,傷病名單等各個部分。

每小時都會有許多客戶針對各種聯賽,球隊,花名冊,球員等發出這種類型的api請求

源數據庫的統計人員和編輯人員全天不斷地管理此內容。

我目前有這個api直接從編輯器的源數據庫中讀取,幾乎可以保證所生成的任何xml文檔都是最新的。

我正在考慮實現一種緩存策略,以減少查詢源數據庫的次數,因為平均xml文檔需要4-7個查詢才能收集所有數據以進行組裝。

我在這里尋找策略和技術,特別是考慮到該API每天將被調用300-500k次,並且xml文檔大小范圍從20k到100k。

我知道這里有APC,memcache,memcached,Redis,MongoDB,甚至還創建了一個基於文件的簡單緩存,但是我想聽聽其他人在類似情況下的使用情況。

我是memcached的忠實擁護者-它快速,易於使用,並且具有用於集成的標准庫。

memcached速度非常快,可以提供大量數據,但是它不是持久性的,而是真正的緩存,因此希望有一種加載數據的方法。 自動修改舊鍵是無價的。

如果您想獲得快速而持久的數據,則可以使用Redis,否則,MemcacheD將是您的替代選擇,而不是持久性,但是如果您的應用程序在單個服務器上運行,那么APC將是理想選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM