Pourquoi appeler ça "en cache" Genova ? Tu peux développer, ou si tu as des liens qui parlent un peu de ça ?
Pour le tableau sérialisé, dans la BDD ? Ca a ses limites non ?
Cacher quelque chose en informatique (cacher = action de mettre en cache, et non pas "planquer"), c'est sauvegarder le résultat d'un calcul qui peut être long à charger, afin de l'afficher instantanément au second coup.
Par exemple imaginons que tu veuilles afficher le nombre total de membres inscrits sur ton site. La solution standard serait de faire une requête SQL pour compter tes membres en base de donnée (
SELECT COUNT(*) FROM users) et d'afficher ensuite le résultat.
Tu peux accélérer cette action en stockant le résultat dans un endroit plus rapide d'accès (par exemple en utilisant Redis pour le stocker directement dans la RAM du serveur), ce qui fait que la prochaine fois tu n'as plus besoin de faire une requête SQL, ce qui évite d'engorger MySQL si tu as trop de visiteurs. Des membres qui s'inscrivent, à priori tu n'en as pas à chaque seconde. Donc il est inutile d'aller interroger à chaque fois ta base de donnée pour connaître ce nombre, il te suffit de le stocker, et de le mettre à jour seulement quand un nouveau membre s'inscrit.
L'exemple n'est pas le meilleur, puisque faire un SELECT COUNT(*) est extrêmement rapide, mais le principe est là : chercher à gagner du temps en lecture.
Par rapport à la liste d'amis, il est inutile d'aller demander à la base de donnée à chaque fois "qui sont mes amis ?", puisque la liste d'amis varie assez peu (à moins d'être le pape ou une très grosse célébrité

). Plutôt donc d'effectuer ce traitement couteux à chaque fois, on le fait juste une seule fois, on stock cette liste dans un endroit rapide d'accès (un simple champ donc), et on le met à jour simplement lorsqu'un nouvel ami arrive. Il n'y a aucun problème à sérialiser ces données et les mettre dans un champ TEXT. Un champ TEXT peut contenir jusqu'à 65K caractères, donc tu as le temps de voir venir.
Cacher des données c'est la technique numéro 1 pour optimiser un site. C'est omniprésent sur tous les sites à fort traffic, et cela à tous les niveaux. Le sujet est trop vaste pour pouvoir être développé convenablement ici, mais tu trouveras facilement ton bonheur sur google. Au final c'est surtout une façon de procéder :
comment faire en sorte que mes pages s'affichent le plus rapidement possible, et en consommant le moins possible de ressources sur mon serveur.
[quote="Nestecha"]Pourquoi appeler ça "en cache" Genova ? Tu peux développer, ou si tu as des liens qui parlent un peu de ça ?
Pour le tableau sérialisé, dans la BDD ? Ca a ses limites non ?[/quote]
Cacher quelque chose en informatique (cacher = action de mettre en cache, et non pas "planquer"), c'est sauvegarder le résultat d'un calcul qui peut être long à charger, afin de l'afficher instantanément au second coup.
Par exemple imaginons que tu veuilles afficher le nombre total de membres inscrits sur ton site. La solution standard serait de faire une requête SQL pour compter tes membres en base de donnée ([i]SELECT COUNT(*) FROM users[/i]) et d'afficher ensuite le résultat.
Tu peux accélérer cette action en stockant le résultat dans un endroit plus rapide d'accès (par exemple en utilisant Redis pour le stocker directement dans la RAM du serveur), ce qui fait que la prochaine fois tu n'as plus besoin de faire une requête SQL, ce qui évite d'engorger MySQL si tu as trop de visiteurs. Des membres qui s'inscrivent, à priori tu n'en as pas à chaque seconde. Donc il est inutile d'aller interroger à chaque fois ta base de donnée pour connaître ce nombre, il te suffit de le stocker, et de le mettre à jour seulement quand un nouveau membre s'inscrit.
L'exemple n'est pas le meilleur, puisque faire un SELECT COUNT(*) est extrêmement rapide, mais le principe est là : chercher à gagner du temps en lecture.
Par rapport à la liste d'amis, il est inutile d'aller demander à la base de donnée à chaque fois "qui sont mes amis ?", puisque la liste d'amis varie assez peu (à moins d'être le pape ou une très grosse célébrité :D). Plutôt donc d'effectuer ce traitement couteux à chaque fois, on le fait juste une seule fois, on stock cette liste dans un endroit rapide d'accès (un simple champ donc), et on le met à jour simplement lorsqu'un nouvel ami arrive. Il n'y a aucun problème à sérialiser ces données et les mettre dans un champ TEXT. Un champ TEXT peut contenir jusqu'à 65K caractères, donc tu as le temps de voir venir.
Cacher des données c'est la technique numéro 1 pour optimiser un site. C'est omniprésent sur tous les sites à fort traffic, et cela à tous les niveaux. Le sujet est trop vaste pour pouvoir être développé convenablement ici, mais tu trouveras facilement ton bonheur sur google. Au final c'est surtout une façon de procéder :[b] comment faire en sorte que mes pages s'affichent le plus rapidement possible, et en consommant le moins possible de ressources sur mon serveur.[/b]