我有一個本地應用程序商店,如谷歌播放,我需要加載應用程序的細節更快,我不想選擇和連接表來創建應用程序的詳細信息,我需要一個動態緩存系統,Android應用程序調用我的Web服務, Web服務不從數據庫實例中選擇從緩存中選擇,你有什麼想法嗎?注意:加載應用程序細節的速度非常重要,你知道谷歌使用什麼機制來完成這項工作嗎?如何用PHP和Mysql創建動態緩存系統?
如何始終保持緩存更新?
我有一個本地應用程序商店,如谷歌播放,我需要加載應用程序的細節更快,我不想選擇和連接表來創建應用程序的詳細信息,我需要一個動態緩存系統,Android應用程序調用我的Web服務, Web服務不從數據庫實例中選擇從緩存中選擇,你有什麼想法嗎?注意:加載應用程序細節的速度非常重要,你知道谷歌使用什麼機制來完成這項工作嗎?如何用PHP和Mysql創建動態緩存系統?
如何始終保持緩存更新?
我只是創建一個查詢,返回您正在尋找的信息。 MySQL會自動緩存經常執行的查詢結果。如果你的查詢很慢,那麼你可能需要重構你的數據庫,或者重寫你的查詢。
如果你需要任何東西,我會開始通過安裝MySQL Query Results Cache Plugin到您的服務器。
【摘錄】
有觸發查詢緩存四種方式。
- 使用SQL的提示在每個查詢基礎
- 用戶提供的回調來決定在每個查詢的基礎上,例如,使用mysqlnd_qc_is_select()
- mysqlnd_set_cache_condition(),用於基於規則的每個查詢決策自動
- mysqlnd_qc.cache_by_default = 1緩存自動緩存所有查詢盲目
組規則。
SQL提示是符合SQL標準的註釋。作爲SQL註釋,數據庫將忽略它。如果SQL語句啓用緩存,或者它是SELECT語句,則認爲該語句符合緩存條件。
要緩存的單個查詢必須以SQL提示/ qc = on /開頭。建議使用PHP常量MYSQLND_QC_ENABLE_SWITCH而不是使用字符串值。
沒有資格緩存和不緩存:INSERT INTO測試(ID)VALUES(1)
沒有資格緩存和不緩存:SHOW ENGINES
進行高速緩存,但是未緩存:SELECT ID FROM測試
獲緩存和高速緩存的:/ QC =上/SELECT ID FROM測試
示例SELECT語句字符串的前綴爲MYSQLND_QC_ENABLE_SWITCH SQL提示以啓用語句的緩存。必須在語句字符串的開頭給出SQL提示以啓用緩存。
爲什麼你認爲再次詢問完全一樣會得到任何不同的迴應[你的上一個問題](http:// stackoverflow。COM /問題/ 39703370 /如何到創建-A-動態高速緩存系統)? –
@ mark-baker我編輯我自己的問題與目前我想要的。 –
使用「窮人緩存」,創建一個包含格式化數據的html文件,然後在需要時包含該文件,如果該文件少於5分鐘,則執行長選擇並重新創建緩存。重複。 – Cups