1. A method comprising: storing, by a first device, a plurality of components, each of the plurality of components being associated with a different type of application; storing, by the first device, a plurality of prefetching models, each of the plurality of prefetching models corresponding to one of the plurality of components, the plurality of components each defining data, based on a type of application, of the different types of applications, to be prefetched; determining, by the first device, whether one or more prefetching criteria have been satisfied; identifying, by the first device and based on determining that the one or more prefetching criteria have been satisfied, data for prefetching based on one or more of the plurality of prefetching models; transmitting, by the first device and to a second device, a request for the identified data; receiving, by the first device and from the second device, the identified data; assigning, by the first device, an aging value to the identified data; incrementing, by the first device, the aging value, assigned to the identified data, at a predetermined rate, the predetermined rate being based on a type of application, of the different types of applications, associated with the identified data; and storing, by the first device and based on the incremented age value, the identified data.