cache is always a dictionary in memory