【发布时间】:2012-01-04 10:00:57
【问题描述】:
我阅读了官方指南。它说有page cache、action cache 和fragment cache,但它们不是我想要的。
我只是喜欢缓存一个对象,而不是整个页面或视图片段,就像这个伪代码:
def show
cache @ads, :expires_in => 1.hour do
@ads = Advertisement.all
do
end
有可能吗? memcache 或 redis?
【问题讨论】:
-
缓存对象意味着序列化(通常通过 Marshal.dump/Marshal.load)。请小心,因为某些对象无法序列化。其他一些具有大型对象图(指向其他大型对象的属性和变量),序列化/反序列化既昂贵又占用比您预期的更多空间。例如,通过将
ActiveRecord对象序列化到 redis/memcache 来“缓存”它们不是一个好主意。
标签: ruby-on-rails caching memcached redis