0
我試圖在Rails中實現片段緩存。如果沒有緩存,代碼如下:Rails片段緩存較慢?
<div>
<% data = MyObject.getDataFromDataBase %>
<!-- complicated divs displaying the 'data', multiple partials -->
</div>
它創造了很多的SQL查詢(視圖),並在總體上,大約需要:
Completed 200 OK in 1107ms (Views: 1007.0ms | ActiveRecord: 93.6ms)
像這樣的緩存包裝這件事後, :
<div>
<% cache 'my_cached' do %>
<% data = MyObject.getDataFromDataBase %>
<!-- complicated divs displaying the 'data', multiple partials -->
<% end %>
</div>
我看到的輸出(在第二刷新) - NO SQL查詢(除用戶角色檢查),沒什麼,只是:
Read fragment views/my_cached/bda6867d8a08ec1637c0c926edced2d2 (0.7ms)
Completed 200 OK in 1241ms (Views: 1228.7ms | ActiveRecord: 6.8ms)
而我的問題是:如何可能,後緩存需要更長的時間?在日誌中沒有任何反應,文件在0.7毫秒內加載,爲什麼總共需要1秒?
好像你缺少'do':'<%cache'my_cached'do%>' – spickermann
是的,寫錯了。 –