On Fri, Apr 27, 2012 at 6:14 PM, Jakub Łopuszański <[email protected]> wrote: > Hi, I’d like to share with you an algorithm for cache invalidation that I’ve > came up with, and successfully implemented in a real world application.
This may be a silly question, but have you benchmarked your cached application against just going straight to the database? I've always had the impression that keeping a perfect cache of a database that beats it in performance was not possible because the overhead of cache invalidation (both in the cache and in the application) would ruin the performance gains on reads. Caches usually beat database performance by sacrificing accuracy (e.g. allowing race conditions and non-ACID behavior) and freshness of data. To put it another way, if it was possible to have an up-to-date cache that outperforms an RDBMS with the same data, wouldn't the makers of that RDBMS simply build that cache into their product? - Perrin
