Tout d’abord définissons un Cache.
Un cache est une table d'association clef valeur, comme une table de hachage. Un cache permet de stocker temporairement en mémoire des objets. Il permet une gestion intelligente de ces objets, c'est à dire que les objets que l'on a pas utiliser "depuis longtemps" vont être enlever de la mémoire au profit d'objets fréquemment utiliser. Le cache possède un mécanisme de restauration de l'objet enlevé de la mémoire si jamais il est requis de nouveau.
Le cache manipule des CacheElement qui décrivent comment construire l'objet lors de son premier accès ou si celui-ci à été détruit de la mémoire.