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
是的,写错了。 –