I recently started using memcached and I have to say I'm quite impressed with it. We'd used it sort of on a trial basis in Fedora Infrastructure for some time (Thanks Ricky). But after playing with it a bit with python, and after moving all of the wiki to using it, I'm even more impressed then ever.

Why?

Because memcached doesn't do much, it's very simple. But what it does do, it does very, very well. After just 15 minutes trying to figure out how it worked and I could predict how it would behave, what it would do if I did X, Y or Z. This made it easy to code for. But even with as easy as implementation was, I've been extremely impressed with how it performs. Completely predictable. I have yet to be able to make it fallover. It's the sign of a well written, well designed application.

Memcached is "missing" things. Security immediately comes to mind. Redundancy as well. But neither of these things are memcached's job. Your app and deployment has to be memcached aware. You need firewalls, you need your application to update the cache, deal with failure scenarios, etc. Memcache won't solve all your problems, after all, it only does one thing; caching of data, but holy crap does it do a good job of it.

+20 to that - great job indeed. What would some high-traffic sites do without it :-)

My workplace's websites (www.finda.com.au is one example) use it heavily (Django+PostgreSQL application in our case, with mintcache added for full page-level caching) and not only did decrease the load (and allow me to keep my hair and sanity, or what's left of it) but the page response was naturally much lower and snappier, which meant more people were willing to hang around and explore the site more.

I couldn't find the perl bindings in Fedora, but I'm fixing that little oversight now, just a couple of things to do before it's available for review.