我在PHP中編寫了一個遠程API,需要在每次調用時對所提供的參數執行比較。根據API的內部狀態,提供的參數需要檢查1到50個動態值(每個長度大約15個字節)左右。磁盤IO與PHP中的MySQL查詢
我的問題是,爲了儘可能快地調用,在每次調用中簡單地從平面文件加載比較值(甚至可以立即解析爲.inc)會更有意義,或者在每個調用中從MySQL表中加載比較值。寫入這些值的更改並不重要,因爲這不會經常發生。
謝謝。
我在PHP中編寫了一個遠程API,需要在每次調用時對所提供的參數執行比較。根據API的內部狀態,提供的參數需要檢查1到50個動態值(每個長度大約15個字節)左右。磁盤IO與PHP中的MySQL查詢
我的問題是,爲了儘可能快地調用,在每次調用中簡單地從平面文件加載比較值(甚至可以立即解析爲.inc)會更有意義,或者在每個調用中從MySQL表中加載比較值。寫入這些值的更改並不重要,因爲這不會經常發生。
謝謝。
如果你只有50個項目,只需將它們包含在你的php代碼中。你已經從磁盤讀取這個文件......而且php有自己的字節碼緩存。使用mysql將需要您每次打開一個套接字併發出網絡請求。
如果你只有最多50個值,我會從數據庫中加載一次,並將它們緩存在內存中。
您將如何維護跨請求的緩存? – 2011-06-14 23:04:55
我假設他在談論mysql查詢緩存。 – iHaveacomputer 2011-06-14 23:07:37
不是在談論mysql查詢緩存。我不知道PHP。如果不可行,請使用本地memcached或redis實例進行緩存。 – 2011-06-14 23:08:02
這是我的第一個直覺,現在看起來像是一個更好的選擇,現在你已經讓我意識到PHP的內在字節碼緩存。 – Derg 2011-06-14 23:24:14