Does Rails 3 provide time based caching?

9 views
Skip to first unread message

lexer

unread,
Aug 26, 2010, 6:33:01 AM8/26/10
to Ruby on Rails: Talk
Hi guys,

I need a timebased caching of certain pages. Cache for certain page
should be cleared each 15 minutes. Is that possible?

In http://edgeguides.rubyonrails.org/caching_with_rails.html manual I
see that there is only manual cache clear methods, such as expire_page
or expire_action.

Regards,
Alexey

Tim Shaffer

unread,
Aug 26, 2010, 1:23:26 PM8/26/10
to Ruby on Rails: Talk


On Aug 26, 6:33 am, lexer <lexer....@gmail.com> wrote:
> Hi guys,
>
> I need a timebased caching of certain pages. Cache for certain page
> should be cleared each 15 minutes. Is that possible?
>
> Inhttp://edgeguides.rubyonrails.org/caching_with_rails.htmlmanual I
> see that there is only manual cache clear methods, such as expire_page
> or expire_action.
>
> Regards,
> Alexey

I don't think Rails provides time based caching. I also do not think
it's needed. What are you trying to accomplish?

Lets say you have a page with list of products that you want to cache.
The cache *only* needs to be updated if one of the products changes.
Caching the page for an arbitrary amount of time is unnecessary.

If you *really* need a time based cache, you could just use a cache,
then set the expire action as a cron job that runs every 15 minutes.

But really, infinite caching with proper expiration is the way to go.

RobertoT

unread,
Aug 26, 2010, 3:34:54 PM8/26/10
to Ruby on Rails: Talk
This depends on the cache store you use. The memcached store can
expire cache items after a certain time.

See point 4 here:

http://guides.rubyonrails.org/caching_with_rails.html#cache-stores
Reply all
Reply to author
Forward
0 new messages