Thanks for the response lammert. Great points.
Regarding the dumping of the cache, my implementation is custom built (by me), so that should be fine since I know the keys and how to pull the data.
You do raise some very valid points on execution time of reloading the cache. 2GB of data is either a big file, or a lot of time pulling from a database. I think I would definitely load it asynchronously. But the tricky part is when my server is rebooted, often the machine will get over whelmed until the cache gets caught up, which can take a few hours. I think I would almost have to use a flat file to keep the database from getting bogged down. Since I have a dual-processor (quadcore) machine I think it could handle the asynchronous work just fine. We will see. I am going to start working on something this week.
I'll post back how things work out.
Thanks again for your thoughts.