Time based caching

Hi,

Iam using Rails 3.1.0, i tried page, action and query cache.

  I was not able to do :expires_in in some minutes for Page of Action action cahe. How to do the same?

  I tried the code like,

    caches_page :index, :expires_in => 2.minutes

    caches_action :create, :expires_in => 2.minutes

  But Query cache work fine with caching and expiry when i used like this,

    @inc = Rails.cache.fetch("inc", :expires_in => 5.minutes) {Inc.find(:all)}

Why page and action doesnt works with expires_in? It worked for me in ealier versions of rails, how to do it in Rails 3.1?

I dont want to use cache stores(mem cache or dalli)

Please suggest me any ways?

Thanks in advance

Hi,

Iam using Rails 3.1.0, i tried page, action and query cache.

I was not able to do :expires_in in some minutes for Page of Action action cahe. How to do the same?

When you say that you weren't able to di it, what happened?

I tried the code like,

caches\_page :index, :expires\_in => 2\.minutes

caches\_action :create, :expires\_in => 2\.minutes

But Query cache work fine with caching and expiry when i used like this,

@inc = Rails\.cache\.fetch\("inc", :expires\_in => 5\.minutes\)

{Inc.find(:all)}

Why page and action doesnt works with expires_in? It worked for me in ealier versions of rails, how to do it in Rails 3.1?

I dont want to use cache stores(mem cache or dalli)

Page caching just saves files to disk (with the assumption that the web server serves these without touching rails). This just doesn't support time base expiry on its own - there is no code that gets run when serving such a file to check whether the cache is still valid (although you could of course have some external bit of code that deletes old files from the cache directory).

caches_action should work though, assuming that the underlying cache store used by action caching supports expiry (I don't believe file store does).

Fred