Friday, October 12, 2007

Wow: what a difference caching makes!

I just spent a day adding MemCached to a customer's web application. Incredible what a difference it makes! The great thing about MemCached is that many client libraries are available and caching works with handling user sessions, web page fragments, some web service calls, etc. Depending a lot on the application, MemCached can take a load off of database servers, back end web services, etc. I was also pleasantly surprised by how simple it was to implement (after carefully analyzing the web application itself - gaining an understanding of what should be cached is the tricky part). Good stuff!

I don't think that I will ever deploy a web application again without analyzing it for MemCached use.

2 comments:

anjanBacchu said...

hi mark,

What language/framework did your application use ?

Thank you,

BR,
~A

Mark Watson, author and consultant said...

Rails web app, with misc. back end web services. Doesn't matter however: memcached has client libraries for most common programming languages and is web framework agnostic. I just had to write a little Ruby code that used the memcached-client gem. Rails will use memcached out of the box to manage session data, with one small configuration change. I did not use the Rails cached_model gem for caching ActiveRecord objects, but that looks useful for other applications.