Forum: Ruby on Rails Time based caching

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
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
This topic is locked and can not be replied to.