but storing a reference means that what you stick into the cache might not be what you get out as something else modified the model. It also means that anyone using the cache needs to have access to the db, so it needs the db and the cache in order to use it effectively. I'm not sure that this is a good path to head down.