http://tutorials.jumpstartlab.com/topics/performance/digest_based_caching.html