2
在我的網站中,我有一個數據庫密集型頁面,我緩存了5分鐘。但是,當緩存過期並且頁面必須新鮮渲染時,性能仍會受到影響。我在想,爲什麼不在後臺進程(如workling)中一次5分鐘計算頁面並將其存儲在緩存中,並且每次都要從緩存中提供用戶請求。結果沒有用戶必須等待這個頁面被渲染。如何將數據庫密集型頁面從rails中的後臺進程存儲到緩存中
有沒有一種有效的方法來做到這一點? 非常感謝任何幫助。
感謝,
在我的網站中,我有一個數據庫密集型頁面,我緩存了5分鐘。但是,當緩存過期並且頁面必須新鮮渲染時,性能仍會受到影響。我在想,爲什麼不在後臺進程(如workling)中一次5分鐘計算頁面並將其存儲在緩存中,並且每次都要從緩存中提供用戶請求。結果沒有用戶必須等待這個頁面被渲染。如何將數據庫密集型頁面從rails中的後臺進程存儲到緩存中
有沒有一種有效的方法來做到這一點? 非常感謝任何幫助。
感謝,
我會建議只是讓你的Web服務器的呼叫從您的背景作業或cron作業的頁面。然後你讓整個Rails堆棧處理這個調用。您可以創建一個cron作業要做到這一點,每4-5分鐘,一個參數傳遞到頁面把它強制緩存刷新,例如:然後
complex/page?force=true
你的控制器/動作/模型將檢查該這個參數的存在。如果存在強制,頁面將不使用緩存版本,而是重新創建緩存。
會有幫助,如果你也可以回答這個問題。 http://stackoverflow.com/questions/5409824/how-to-write-a-partial-into-a-cache-from-a-back-ground-process-and-read-the-parti – anusuya 2011-03-23 18:23:15