Short story: http://github.com/sebleier/django-redis-cache
Long story: IMHO, the best idea is to just cache the metadata in RAM, unlike memcached, Redis also writes a backup periodically to the disk and is able to maintain the data between restarts. What we would do then is either write the key, value pairs or just store a geojson dict for a given layer. Here is some code I wrote a while ago that uses redis in a very simple yet effective way to cache an expensive operation: http://github.com/ingenieroariel/dondevoto/blob/master/server.py#L16
