Ruby on Rails
JavaScript, XHTML, CSS
Java, Distributed Systems
<you_name_it>
fragment caching
timed_fragment_cache on Rails 2.1
Submitted by Steffen on Sat, 07/26/2008 - 04:58With Rails 2.1 cache_erb_fragment has been replaced by write_fragment. This breaks a plugin I really enjoy to use: timed_fragment_cache by Richard Livsey.
It basically allows you to specify an expiry for the fragments you cache, e.g. inside memcache, by adding a "meta" fragment for the fragment you store containing the expiry time.
Some usage examples - pretty self-explaining:
In your view:
<%- cache 'my_key', 1.hour.from_now do -%> ... <%- end -%>
With extensive queries - your view ...:
<%- cache 'some_posts' -%>
Ruby on Rails: gettext + memcache = trouble
Submitted by Steffen on Sat, 09/29/2007 - 06:25The latest Ruby gettext 1.10.0 gem broke the memcache based fragment caching of the current project I'm working on. I figured out what the problem was. gettext 1.10.0 tries to localize caching of fragments by kind of appending the Locale.current to the fragment cache key, e.g. "items/show/1" becomes "items/show/1_en", "items/show/1_de", ...
This by itself isn't a problem but gettext also overwrites the default Rails implementation for expiring fragments. The gettext mechanism expires each localized cache fragment for a given key, e.g. "items/show/1_*" (where * is a wildcard). The current memcache-client gem (1.5.0) however doesn't support wildcard based key access and a "delete_if method not defined" exception gets thrown.
