1. A computer-implemented method for populating a data cache on a server the method comprising: collecting new data requests received by the server from a plurality of users in a repository containing historical data requests received by the server from the plurality of users; applying a data mining algorithm to the data requests in the repository to discover patterns in the data requests received from the plurality of users and to predict a set of data that is likely to be requested by the plurality of users during an upcoming time period, based on the discovered patterns; 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.