2013-03-14 89 views
0

我正在使用哈姆和俄羅斯娃娃在軌道緩存。我的目標是緩存儘可能多的靜態html,並只渲染動態內容。但是,我經常有大量未經過緩存的html,因爲中間有一小段動態代碼。緩存包含動態內容的靜態html的最佳方式是什麼?

假設我有含2分音這樣的觀點:

show.html.haml

= render 'message' 

_container.html.haml

.nested 
    .divs 
    = render 'dynamic' 

_dynamic.html。哈姆

= complex_stuff 
.something 
    = more_complex_stuff 

我無法將_container部分封裝在緩存塊中,因爲它包含動態內容。我知道我可以根據動態部分中的因變量來鎖定緩存塊,但假設動態部分的複雜度太高而無法緩存。

什麼是解決此問題的好方法?

回答

-1

我寫了一個寶石來解決這個問題:

https://github.com/neighborland/cache_rocket

+0

你應該運行一些基準測試來檢查,這實際上是給你任何好處;我懷疑這會有所幫助。緩存純靜態內容幾乎沒有什麼收穫(可能會失去一些東西),我懷疑額外的'sub'調用會損害性能。 – matt 2013-03-15 19:05:09

+0

好點。在早期測試中,渲染速度提高了15-20%。這當然取決於你能夠緩存多少html。 – tee 2013-03-15 22:03:24

+0

其實在緩存靜態html內容方面有很大的收穫,這就是我爲什麼要這樣做的原因。 – tee 2013-03-15 23:09:54

相關問題