A reusable Django app to handle cache invalidation.