News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Dave Marshall's Blog:
Defending against Cache Stampedes
January 13, 2012 @ 13:13:08

Dave Marshall has a new post to his blog showing one method for defending against cache stampedes from assaulting your caching servers and (possibly) bringing them down.

I've recently had a problem with a rather large operation (that could probably be optimised considerably, but nevermind), where by if the cached result of the operation expired, several web server threads would attempt the operation, causing some major headaches for our database and web servers. This is something I've come across before, and is commonly(?) known as a Cache Stampede. This is bad, this post describes the basics of what I've done to deal with it.

His example uses a Zend_Cache interface to Memecache, but it could be applied in other places too. His method uses a binary semaphore to check and see if there's a "lock" and sleep for a bit before checking again. Sample code is included showing how to create this system and how to refresh the data with a new expiration on a cache miss.

0 comments voice your opinion now!
cache stampede zendcache tutorial binary semaphore miss prevention


blog comments powered by Disqus

Similar Posts

DZone.com: How to correctly work with PHP serialization

Phil Sturgeon: Testing and Contributing with Composer Packages

PHPMaster.com: Amazon DynamoDB: Store PHP Sessions with Load Balancer

PHPMaster.com: Simplifying Test Data Generation with Faker

DevShed: PHP Programs to Prevent MySQL Injection or HTML Form Abuse


Community Events





Don't see your event here?
Let us know!


community release opinion framework list introduction code series unittest interview wordpress threedevsandamaybe podcast language laravel developer configure testing refactor install

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework