JeuWeb - Crée ton jeu par navigateur
Système de cache: économiser le retour de données d'un seul champs MySQL ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Système de cache: économiser le retour de données d'un seul champs MySQL ? (/showthread.php?tid=5140)



Système de cache: économiser le retour de données d'un seul champs MySQL ? - php_addict - 06-09-2010

salut !

Désolé pour le titre à rallonge...

je suis en train de mettre mon système de cache en pratique et je m'apercoit qu'il y a tout un tas de chose à mettre en cache...

par exemple le joueur Lambda possède sa page "profil" pour se décrire, raconter sa vie, ses exploits, enfin bref...avec possibilité de BBcode et tout et tout...

J'ai limité le champs profil à 5000 caractères.

donc quand on interroge la page "profil" on va allez chercher les données du joueur dans la Base MySQL, et c'est là que je vous demande votre avis:



1/ Si le profil est déjà en cache (fichier)

-on interroge la base de donnée pour récupérer les infos du joueur mais sans le champs profil (on s'en fout il est en cache)


2/ Si le profil n'est pas en cache

-on interroge la base de donnée pour récupérer les infos du joueur dont le champs profil

En somme est ce que cela vaut le coup de mettre en cache le "profil" (sachant qu'il est parsé car BBcode) , pour économiser un seul champs lors d'une requête ?

alors alors ?

merci de m'avoir suivi Wink

a+


RE: Système de cache: économiser le retour de données d'un seul champs MySQL ? - Sephi-Chan - 06-09-2010

Pourquoi mets-tu le profil en cache (dans un fichier) puisqu'il est stocké dans la colonne profil de ta table ?


Sephi-Chan


RE: Système de cache: économiser le retour de données d'un seul champs MySQL ? - php_addict - 06-09-2010

(06-09-2010, 04:52 PM)Sephi-Chan a écrit : Pourquoi mets-tu le profil en cache (dans un fichier) puisqu'il est stocké dans la colonne profil de ta table ?

parce en plus de récupérer un champs en plus (profil) il faut le parser (BBcode)

grosso modo je voulais economiser le retour de donnée du champs profil et le parsage...


RE: Système de cache: économiser le retour de données d'un seul champs MySQL ? - srm - 06-09-2010

Je ne mettrais rien en cache à ta place.
Pourquoi ? Car tu en as pas besoin.

Il faut coder ce dont on a besoin c'est tout.
Et juste penser son code pour qu'il soit souple et extensible plutôt que rajouter maintenant les choses que tu aurais hypothétiquement besoin plus tard.


RE: Système de cache: économiser le retour de données d'un seul champs MySQL ? - Sephi-Chan - 06-09-2010

Et le parsing BBCode est très lourd ? Est-ce que les pages de profils seront consultées très souvent ?
Si c'est vraiment lourd et sollicité, quitte à mettre un cache, autant le stocker dans la table : tu aurais alors une colonne profile et une autre parsed_profile.

Sinon, pas d'intérêt particulier.


Sephi-Chan


RE: Système de cache: économiser le retour de données d'un seul champs MySQL ? - php_addict - 06-09-2010

le parseur est un peu lourd dans le sens où tu peut mettre des BBcodes genre [joueur]BOB[/joueur] qui affiche un lien vers la page du joueur (donc va farfouiller dans la base pour trouver l'id) et d'autres BBcode qui pour être interprétés doivent interroger la base de donnée.

ok, merci pour vos conseils...


RE: Système de cache: économiser le retour de données d'un seul champs MySQL ? - Sephi-Chan - 06-09-2010

Ok ben dans ce cas je te conseille d'utiliser une colonne de ta table si tu veux faire du cache. Smile


Sephi-Chan


RE: Système de cache: économiser le retour de données d'un seul champs MySQL ? - Amrac - 07-09-2010

Même avis que Sephi, ajoute une colonne et laisse faire le cache mysql ^^

Sinon tu as un bon tuto sous la main pour faire du BBCode avec requête dans la BDD? Genre [joueur][/joueur] [alliance][/alliance]


RE: Système de cache: économiser le retour de données d'un seul champs MySQL ? - php_addict - 07-09-2010

(07-09-2010, 09:27 AM)Amrac a écrit : Même avis que Sephi, ajoute une colonne et laisse faire le cache mysql ^^

Sinon tu as un bon tuto sous la main pour faire du BBCode avec requête dans la BDD? Genre [joueur][/joueur] [alliance][/alliance]

non pas de tuto, mais il y a ce topic: http://www.jeuweb.org/showthread.php?tid=6455


RE: Système de cache: économiser le retour de données d'un seul champs MySQL ? - gameprog2 - 13-09-2010

Citation :Et juste penser son code pour qu'il soit souple et extensible plutôt que rajouter maintenant les choses que tu aurais hypothétiquement besoin plus tard.
Peut-etre que vous allez penser que je poste pour rien, mais qu'est-ce que j'aime cette phrase !!!
Je vais m'efforcer de suivre à la lettre pour mon jeu.