如何在Rails中缓存任意对象(基于时间)?

时间:2011-11-23 02:26:57

标签: ruby-on-rails caching memcached redis

我阅读了官方指南。它说有page cacheaction cachefragment cache,但它们不是我想要的。

我只想缓存一个对象,而不是整个页面或视图片段,就像这个伪代码一样:

def show
  cache @ads, :expires_in => 1.hour do
    @ads = Advertisement.all
  do
end

有可能吗?使用memcacheredis

3 个答案:

答案 0 :(得分:2)

试试这个:

#To cache the object
Rails.cache.write('cache-key', object)

#Load the object from the cache
Rails.cache.read('cache-key')

答案 1 :(得分:1)

查看lawnchair gem以在Redis中缓存对象。

答案 2 :(得分:0)

Rails.cache.write(cache_key, your_value, expires_in: 10.seconds)

Rails.cache.readh(cache_key)