2009-12-29 4 views
0

Je suis à la recherche d'un programme avec des fonctionnalités très spécifiques, qui, je l'espère, existe donc je n'ai pas besoin de l'implémenter moi-même. Je peux mieux décrire ce programme hypothétique comme un cache basé sur un système de fichiers de copies compressées de documents dans le répertoire de travail. Je l'ai fait une maquette de ce que j'attendais ce programme à faire:Un cache de compression basé sur un système de fichiers - existe-t-il?

[email protected]:~/htdocs/$ tree -a 
. 
|-- image.png 
`-- index.html 

0 directories, 2 files 

[email protected]:~/htdocs/$ zipcache init 
Initialized cache in ./.zipcache/ 
[email protected]:~/htdocs/$ tree -a 
. 
|-- .zipcache 
| |-- gzip 
| | `-- index.html.gz 
| `-- lzma 
|  `-- index.html.lzma 
|-- image.png 
`-- index.html 

1 directory, 3 files 
[email protected]:~/htdocs/$ zipcache gzip index.html 
... zipcache emits gzipped copy of index.html on stdout by cat-ing ./.zipcache/gzip/index.html.gz 
[email protected]:~/htdocs/$ zipcache lzma index.html 
... zipcache emits lzma'd copy of index.html on stdout by cat-ing ./.zipcache/lzma/index.html.gz 
[email protected]:~/htdocs/$ zipcache lzma image.png 
... zipcache generates error signifying cache miss (it's intelligent enough to know that PNG shouldn't be further zipped) ... 

Ma préoccupation ultime est la mise en cache des copies compressées des fichiers statiques qui sont transférés à plusieurs reprises sur HTTP avec le codage du contenu activé. Je n'ai aucun désir de calculer la compression chaque fois qu'un fichier est demandé. J'apprécierais toujours de pointer dans la bonne direction si quelque chose de vaguement similaire à ce qui précède - ma recherche Google a été tout à fait infructueuse (peut-être il ya une terminologie pour la fonctionnalité ci-dessus que je ne connais pas).

Répondre

2

[Il est vrai que cela répond à la « une place de cette » question au lieu]

Il semble que faire vous-même est une mauvaise idée et vous devez laisser le serveur web faire ce.

Je devine que vous utilisez apache sur une variante unix, mais pour être complet:

  • Pour IIS7, il vous suffit de le configurer, car il prend en charge la mise en cache de contenu statique comprimé (et dynamique) - voir Pour Apache, je ne trouve rien comme intégré, mais mod_deflate et mod_disk_cache semblent être l'endroit où vous voulez commencer. Découvrez http://webdirect.no/linux/apache-caching-with-gzip-enabled/
0

Je suppose que vous pouvez écrire un script PHP assez simple pour une telle mise en cache. Je ne sais pas une telle chose existe déjà

Questions connexes