2011-02-07 31 views
2

我從數據庫中檢索數據庫,其中包含圖像以及其他字段,然後使用php腳本以json格式對其進行編碼。現在數據是 從手機請求我想要做的就是使用緩存政策或別的東西,即如果有什麼在MySQL可能,檢查 數據是否在數據庫編輯自上次請求或沒有,以便當請求來到該頁面時,它將首先檢查,然後 相應地響應。這可以節省時間,加快請求並減少服務器上的流量。

我看了一下緩存策略here在php中的緩存策略

的一些注意事項,如果有一個人幫我,例子或代碼一起我是非常感激的

回答

2

MySQL不能告訴你,當一個記錄的最後修改,但它的非常簡單:您可以簡單地將timestamp列添加到您的表格中,每次修改記錄時在其中插入當前日期和時間。 MySQL能夠通過設置初始化和更新行爲進行自動設置(見MySQL reference):

CREATE TABLE t (
lastmodified TIMESTAMP DEFAULT CURRENT_TIMESTAMP 
         ON UPDATE CURRENT_TIMESTAMP); 

然後,所有你需要做的就是查詢該列與其他數據一起,並檢查它反對通過發送If-Modified-Since頭客戶。如果結果中的日期和時間比客戶給出的日期和時間更近,那麼您通常會返回數據。否則,只需發送沒有內容的304 Not Modified標題,讓客戶端知道自上次請求以來沒有任何更改。

+1

http://www.kbedell.com/2009/03/07/how-to-create-a-timestampdatetime-column-in-mysql-to-automatically-be-set-with-the-current-time/ – Alfred 2011-02-07 07:44:22