Time based caching


#1

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


#2

On May 16, 6:21am, martin devapitchai removed_email_address@domain.invalid wrote:

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?

{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