Except in the collection you actually would put [u.name,u.id]

On May 26, 11:33 am, BenH <[email protected]> wrote:
> in your config/environment/development.rb file (or whatever
> environement your are configuring)
>
> config.cache_store = :mem_cache_store
>
> Depending on how much memory you want to consume you can either load
> your whole user model, the name to ID collection or just the users
> that log in.
>
> In the User model do something like:
>
> def self.names
>   Rails.cache.fetch('user_names', :expires_in => 3600)
> {User.all.collect {|u| [u.id,u.name]}} # names are cached for 1hr
> (3600 seconds)
> end
>
> again in your controller:
>
> def list
>   @names ||= User.names.sort
> end
>
> in your view:
> <% @names.each do |name| -%>
>   <%= name[0] -%><br />
> <% end -%>
>
> If the names aren't cached or the cache is older than the one hour
> defined in the model then the fetch method knows to go grab them
> afresh.
>
> I'm using memcache in a more complex manner with full objects and it
> works like a charm - as a matter of fact this has taken common
> requests for fetching data completely off of the database. I rebuild
> the cache without using expiration by implementing callbacks on
> modification of the underlying data - this has taken load times for
> data intensive / cmplex data sets from 20+ seconds down to an
> imperceivable delay... makes clients happy to see that kind of
> improvement. :)
>
> Naturally you will need to have the memcache service running somewhere
> in your environment.
> Hope that helps
> Ben
>
> On May 26, 4:05 am, wakathane <[email protected]> wrote:
>
> > hey,
>
> > for performance reasons i want to cache (template) variables using
> > memcache, making access to data easy in templates by using a simple
> > syntax like <%=users(2).name%>. this actually should tell the view to
> > load the field 'name' from the model/table 'users' with id=2. it first
> > tries memcache and if not found, loads the data from the and stores it
> > in memcache.
>
> > has anyone done this before, any ready to use plugins available? :).
> > if not, any ideas/suggestions on how to implement this best in ror?
>
> > caching partials or whole actions is not an option because of too
> > complex dependencies.
>
> > thanks
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to