Do not return None if cache does not respond

If there is cache connection failures, cache.get() will return None even if the same cache value was just set. And also it's more efficient to return the just generated dict instead of taking the round trip through cache.