Add Redis / Memcache

This should help with #17 

We should aim to provide optional redis and memcache.