Check out this MSDN article: How to: Add Items to the Cache.
You probably want to add that data to the application cache, with a sliding expiration of 1 hour:
Cache.Insert("yourBigData", bigDataObject, _
Nothing, System.Web.Caching.Cache.NoAbsoluteExpiration, _
New TimeSpan(0, 60, 0))
Then, in your code, whenever you want to access that big data, check the cache first:
If(Cache("yourBigData") IsNot Nothing) Then
' Get your data out of the cache, and use that
Dim yourBigData As DataTable = CType(Cache("yourBigData"), DataTable)
Else
' retrieve the data and add it to the cache again
End If
For a broader perspective, see this MSDN article on "Caching Application Data", especially this:
ASP.NET has a powerful, easy-to-use caching mechanism that allows you to store objects in memory that require extensive server resources to create
That seems like precisely your scenario.