【发布时间】:2011-12-23 20:44:42
【问题描述】:
所以我有这个昂贵的数据库查询,它的结果不会经常改变。
问题是,在 95% 的时间里,我真正关心的唯一事情是 50 kb 的原始数据字符串。
使用页面缓存来缓存昂贵且经常使用的查询的结果是否完全违反“RoR 方式”TM?
在 db 服务器本身上缓存结果集有点矫枉过正,因为我真的只关心我从查询结果中收集到的少量数据。{} 页面缓存很浪费,因为几个不同的页面都使用了这些数据,并且都缓存了相同的东西,只是周围的视图发生了变化。
【问题讨论】:
-
我不会太担心违背“RoR 方式”。如果您有解决问题的方法,并且满意,那就去做吧。 DHH 不会来你家偷你的键盘 ;) 话虽如此,在这种情况下,弗雷德里克的答案可能就是你要找的。span>
-
好的。我知道如何使用缓存(我们使用的是 memcache),但我不确定它什么时候合适,什么时候不合适。我通常只看到完全渲染的 html/javascript 被缓存,所以不确定缓存原始数据是否是“坏事”。我听到很多“争取它”,所以我会假设没有任何教条反对它。谢谢大家:)
标签: ruby-on-rails ruby conventions