Forum: Ruby on Rails Time based caching

Ec589b889ed56f951c304abecb71b020?d=identicon&s=25 Martin Jose (martindjose)
on 2012-05-16 07:21
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
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2012-05-16 11:14
(Received via mailing list)
On May 16, 6:21am, martin devapitchai <li...@ruby-forum.com> 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
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.