2013-01-24 280 views
0

我正在創建一個依賴於登錄用戶的很多信息的動態圖像,但有這麼多的用戶在線,圖像系統正在使用我的網站主機分配給我的大量資源。瀏覽器臨時緩存

有沒有辦法告訴瀏覽器臨時緩存圖像?與臨時Cookie類似?

該圖像包含數字(如帖子數和其他頻繁遞增的數字),這些數字可能導致瀏覽器的自動緩存圖像在潛在每次頁面加載時重新下載圖像。我不介意一點點誤差,以節省大量的處理對我的服務器

回答

1

[編輯] 瀏覽器已經做了緩存內容(除非明確告知不這樣做),如果它檢測到上次修改的更改,然後重新加載它。

我在猜測您生成的圖像要麼是a)要通過特定的php腳本()返回瀏覽器()或b)暫時存儲但正在更新,因此瀏覽器將檢索更新後的版本。

如果您正在輸出一個基於動態生成內容的圖像,您可以暫時將其寫入一個目錄,然後根據預定義的時間段拉取圖像,如果其有效。

if(file_exists($file) && filemtime($file) <= time()-60*20) { 
    // Regenerate image 
} else { 
    // Load image from cache 
} 

上述示例在20分鐘內不會重新生成圖像。

+0

我將用我的相關信息更新我的問題 – pathurs

+0

完全按照我想要的方式工作 – pathurs

+0

作爲補充說明:通過爲特定變量(如id-personsname-postcount.jpg)指定名稱來存儲圖像,因此,如果用戶更改任何後期變量文件名會改變,顯然它不會存在,因此重新生成圖像。 –