Snippet #20 ~ PHP: Stocker facilement des données JSON compressées dans un fichier | IdleBlog
Exemple de stockage sous forme de fichiers en php. Voir mon commentaire en bas de l'article (je le recopie ici):
« Juste une petite précision: Nécessite php >= 5.2 (à cause de json_encode()), donc pas chez Free.fr.
Mais c’est effectivement très efficace (il faudra, un jour, que je boucle mon article sur le stockage sous forme de fichiers).
Il y a quelques gotchas:
- cette solution ne gère pas les accès concurrents (ça peut poser problème s’il y a beaucoup d’écriture simultanées, mais ne pose typiquement pas de problème dans des logiciels comme Shaarli, car mono-utilisateur).
- il faut limiter le nombre de fichiers par répertoire, car c’est bien ça qui ralentit les logiciels, et non le fait de lire des fichiers. C’est pour cela que dans ZeroBin (ou dans Squid-cache) les fichiers sont répartis sur plusieurs niveaux de sous-répertoires.
Si vous commencez à dépasser le millier de fichiers dans un répertoire, vous allez commencer à avoir des problèmes de performances (car vous vous reposez sur l’index des systèmes de fichiers pour trouver un fichier particulier, et ces derniers ne sont pas très performants).
Il y a plusieurs façons de segmenter: Par date (pour un blog par exemple):
2012/
2012/10
2012/10/23/…
Ainsi à mois d’être un fou-furieux qui poste plusieurs milliers d’articles et commentaires par jour, aucun risque de ralentissement.
ou répartir avec un hash (comme ZeroBin/Squid):
5a/fb/24/…. (si votre hash est 5afb24…) »
2012-10-22 10:05:50
http://blog.idleman.fr/?p=1722