Data Driven Cache Invalidation

Summary

[EuroPython 2011] Magnus Hagander - 23 June 2011 in "Track Ravioli"

"/>

Description

In todays world, nobody (should) deploy a web application facing the internet without having a proper caching system in place. There are many different solutions to choose from, from manual use of memcached through framework integrated caching to external caches like Squid or Varnish. Most modern frameworks come with integrated functionality for at least one of these methods, and often more than one.

However, they often relies on all traffic going through the same framework to work properly - a caching layer in Rails is hard to share with one in Django. This talk will show a way to break the design rules of these frameworks just a little, and have the database help solve this problem.

This talk will use a small application written in Python using Django to illustrate the examples, but the method is language independent. Unsurprisingly, the database used is PostgreSQL.