Manuel Pear
Cache
Introduction
File_Archive 1.4 introduit la possibilité d'utiliser un tampon (cache) pour stocker le résultat intermédiare d'une compression zip. Pour cela, on utilise le paquet pear Cache_Lite.
A zip file is made of compressed files, one after the others. Ainsi, si vous générez une archive qui contient les fichiers A, B et C et un autre qui aura A et C, vous devez compresser deux fois les fichiers A et C. Pour utiliser le le cache vous permet de sauvegarder une version compressée des fichiers A,B et C lors de la première compression, et de les réutiliser à nouveau pour la seconde compression.
Exemples d'utilisation
The cache can be (and should be) used if you dynamically create some zip archive that contains frequently the same files. Par exemple, vous pouvez proposer aux utilisateurs de choisir des photos, vidéo ou autres fichiers dans une gallerie et de les récuperer dans un zip contenant la sélection
Si vous le faites sans cache, votre server répondra plus lentement si un nombre important d'utilisateurs demandes les fichiers. Avec un cache les fichiers ne seront demandés qu'une seule fois.
Sur ma machine (un thinkpad T42P avec l'équipement par défaut d'usine), génerer une archive zip de 200 Mo prend en environ 30s de CPU sans le cache, 32s de CPU avec un cache vide 2s de CPU si tous les fichiers à compresser sont déjà dans le cache.
Comment utiliser le cache
Le cache est un objet Cache_Lite. Vous devez donc avoir installé le paquet. Vous devrez alors utiliser la fonction File_Archive::setOption() avec le paramètre cache .
|
Exemple 43-1. Mettre en place le cache
|
Remonter 
