我使用PHP將LaTeX渲染爲png作爲CMS的一部分,我需要某種簡單的緩存機制,因爲它需要服務器大約2秒來渲染png。我使用原始TeX並通過md5函數運行它,然後將散列和當前時間戳一起插入數據庫,並使用<散列> .png作爲文件名。每次訪問圖像時,timestamo都會更新。這是一個合理的緩存方法嗎?
0
A
回答
0
嗯,我認爲這是一個很好的方法,但是在散列之前你可能會想對LaTeX做一些額外的處理。否則,空格(以及可能的註釋和其他一些事情,取決於您的輸入方法)的更改會導致不同的哈希值。
此外,更新時間戳的目的是什麼?作爲刪除長時間未訪問的PNG的批處理方法的一部分?
+0
您對我使用時間戳的意圖是正確的。 – GameFreak 2009-02-25 22:16:21
1
這聽起來很好。如果您可以更改.png的名稱來說,數據庫ID或散列本身,以便圖像可以緩存在客戶端。
2
對於這種情況,我更喜歡在磁盤上使用臨時目錄。
根據要求:
if the file doesn't exist
render it to the file
fpassthru() the file from disk
0
如果他們已經被渲染後的可能改變巴紐,我想你也使用某種每當巴紐被更新(檢查線觀察的應占的是,設置方法來更新最後修改的密鑰或其他東西:))
相關問題
- 1. C#:這是一個ASP.NET項目的合理擴展方法嗎?
- 2. JSF的XForms,這是一個合理的解決方案嗎?
- 3. 這是一個合法的長輪詢方法嗎?
- 4. 這是一個樂觀的方法嗎?
- 5. 我理解這個「方法」方法嗎?
- 6. 這是緩存反射數據的正確方法嗎?
- 7. Python - 首先使用類 - 這是一個合適的方法嗎?
- 8. 這是清理StringBuilder的好方法嗎?
- 9. 這個頁面緩存系統是否合理?
- 10. CloudConfigurationManager GetSetting方法緩存嗎?
- 11. 我應該聚合嗎?這是一個明智的做法嗎?
- 12. 這是一個JavaScript模板管理的理想方式嗎?
- 13. 這是正確的緩存嗎?
- 14. 這是一個合適的MonoState Design嗎?
- 15. 這兩種方法是一樣的嗎?
- 16. 這是一個合理的驗證策略嗎?
- 17. 這是一個可取消Observable的合理實現嗎?
- 18. 這是一種處理sql連接的好方法嗎?
- 19. 這適合用一種方法創建一個類嗎?
- 20. 這是一個合適的(或可能的)HBase的用法嗎?
- 21. 蠻力是檢測加密的唯一合理方法嗎?
- 22. 這是鑄造的一個不合適的用法嗎?
- 23. 這是一個合理的方式來'子類'的JavaScript數組?
- 24. 是否有隻有一個網頁上只緩存圖像的方法嗎?
- 25. 這是一個緩慢的查詢嗎?可以改進嗎?
- 26. 這是一種同步方法嗎?
- 27. 這是一個合理的方式來使用C#動態?
- 28. 這是一個合理的密碼使用方案?
- 29. 將數據存儲在內存中,這是一個好方法嗎?
- 30. 高速緩存集合的方法
爲什麼需要2秒來渲染PNG太長? – staticsan 2009-02-26 00:26:40
好,如果頁面上有幾個可能需要很長時間才能加載 – GameFreak 2009-02-26 16:16:35
@staticsan:... *什麼*? 2整秒不是太長? – 2009-03-03 06:43:28