A general purpose cache.