How to cache an arbitrary object in Rails(time-bas

2019-05-02 01:00发布

问题:

I read the official guide. It says there are page cache, action cache and fragment cache, but they are not what I want.

I just like to cache an object, not the whole page or fragment of view, like this pseudocode:

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

Is it possible? with memcache or redis?

回答1:

Try this:

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

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


回答2:

Check out the lawnchair gem to cache objects in Redis.