Lets move this saveToCache() call out wherever we call loadFromCache().  Generally you don't want to update the cache every time you load from the database, only on writes and when its known to be missing from the cache.  Moving this out to the same method that calls loadFromCache() guarantees that we only update when the data is known to be missing from the cache.