Hi - Just downloaded and installed the memcache-client and cached_model gems and am trying to test it out on a development setup. I added this to my environment/development.rb CACHE = MemCache.new :c_threshold => 10_000, :compression => true, :debug => true, :namespace => ''eztrip'', :readonly => false, :urlencode => false CACHE.servers = ''127.0.0.1:11211'' session_options = { :database_manager => CGI::Session::MemCacheStore, :cache => CACHE, :session_domain => ''www.eztrip.com'' } ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update session_options I also changed a few models to extend CachedModel but am having trouble getting it to work. I can manually put things in the cache and take them out of memcached but when I use cached_model on my home page I get this in my console: MemCache Set (0.091822) active_record:EntityType:1 MemCache Set (0.190003) active_record:EntityType:2 MemCache Set (0.199389) active_record:EntityType:3 <snip> MemCache Set (0.199342) active_record:EntityType:17 MemCache Set (0.228083) active_record:EntityType:18 MemCache Set (0.248523) active_record:EntityType:19 which seems promising but when I hit refresh the same output is generated. I''m assuming that when I hit refresh the Set''s should all trun to Get''s? Thanks for any pointers. Mike
On Feb 11, 2006, at 10:35 PM, Michael Engelhart wrote:> I also changed a few models to extend CachedModel but am having > trouble getting it to work. I can manually put things in the cache > and take them out of memcached but when I use cached_model on my home > page I get this in my console: > > MemCache Set (0.091822) active_record:EntityType:1 > MemCache Set (0.190003) active_record:EntityType:2 > MemCache Set (0.199389) active_record:EntityType:3 > <snip> > MemCache Set (0.199342) active_record:EntityType:17 > MemCache Set (0.228083) active_record:EntityType:18 > MemCache Set (0.248523) active_record:EntityType:19 > > which seems promising but when I hit refresh the same output is > generated. I''m assuming that when I hit refresh the Set''s should all > trun to Get''s?If you perform a query that fetches multiple records a set will be issued for the each of the retrieved records. You may not see gets due to the local cache. Note, you should call cache_reset via a before_filter otherwise you may have uncontrolled process growth. -- Eric Hodel - drbrain@segment7.net - http://segment7.net This implementation is HODEL-HASH-9600 compliant http://trackmap.robotcoop.com
Thanks for the reply. I looked at the code and I see why it''s making all the Set commands but the query that does this is a simple SELECT * FROM entity_types; so shouldln''t it put it into memcached? In this case this table is pretty much read only so I wouldn''t want it to go into a local cache. I think I just don''t understand what CachedModel is trying to do. Thanks again Mike On 2/13/06, Eric Hodel <drbrain@segment7.net> wrote:> > On Feb 11, 2006, at 10:35 PM, Michael Engelhart wrote: > > > I also changed a few models to extend CachedModel but am having > > trouble getting it to work. I can manually put things in the cache > > and take them out of memcached but when I use cached_model on my home > > page I get this in my console: > > > > MemCache Set (0.091822) active_record:EntityType:1 > > MemCache Set (0.190003) active_record:EntityType:2 > > MemCache Set (0.199389) active_record:EntityType:3 > > <snip> > > MemCache Set (0.199342) active_record:EntityType:17 > > MemCache Set (0.228083) active_record:EntityType:18 > > MemCache Set (0.248523) active_record:EntityType:19 > > > > which seems promising but when I hit refresh the same output is > > generated. I''m assuming that when I hit refresh the Set''s should all > > trun to Get''s? > > If you perform a query that fetches multiple records a set will be > issued for the each of the retrieved records. You may not see gets > due to the local cache. > > Note, you should call cache_reset via a before_filter otherwise you > may have uncontrolled process growth. > > -- > Eric Hodel - drbrain@segment7.net - http://segment7.net > This implementation is HODEL-HASH-9600 compliant > > http://trackmap.robotcoop.com > > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060214/886ad721/attachment.html
On Feb 13, 2006, at 4:50 PM, Michael Engelhart wrote:> Thanks for the reply. I looked at the code and I see why it''s > making all the Set commands but the query that does this is a simple > SELECT * FROM entity_types; > > so shouldln''t it put it into memcached? In this case this table > is pretty much read only so I wouldn''t want it to go into a local > cache.Since the table is "pretty much read only" how should cached_model know when it is stale?> I think I just don''t understand what CachedModel is trying to do.Say a DB lookup for a single row takes 10ms. Say memcached can return the same row in 1ms. That''s a load your database doesn''t need to handle anymore. -- Eric Hodel - drbrain@segment7.net - http://segment7.net This implementation is HODEL-HASH-9600 compliant http://trackmap.robotcoop.com