Don't get me wrong about Django's caching framework...
March 2, 2010
...it's hugely useful. But some of those tools that make life so easy, like per-view caching or template fragement caching are hampered by the fact that they don't offer any way to handle invalidation. The process by which they generate cache keys is not exposed to the user, and if you don't know they key, you can't invalidate the cache. It would be nice to provide some hooks so that a function which recieves a model update signal could expire all instances where that model may have been cached. The only workaround? Roll your own with the low-level framework (which means more LOC in your project) or just don't invalidate and let things expire on their own. Neither approach is optimal.