I cache data as well, but I don't use application variables to do it, since there is more than I really want to cache.
I have some data that regularly changes, but not in any significant way. So once an hour, the information is refreshed, or sometimes two or three hours later. It's refreshed...