split out tempfile, add some logic to deal with a lack of redis
move cache enabling into webcache gateway, derive from a base class which doesn't need redis and then use that instead when no redis is found