1. A computer-implemented method for populating a data cache on a server the method comprising: collecting data requests received by the server in a repository; applying a data mining algorithm to the collected data requests to predict a set of data that is likely to be requested during an upcoming time period; determining whether the complete set of predicted data exists in the data cache; and in response to determining that the complete set of predicted data does not exist in the data cache, retrieving the missing data from a database and adding the missing data to the data cache.