Salut,
C'est une question assez générale mais que je vais illustrer sur un cas particulier.
Initialisation :
Je charge une carte 5*5 à la connexion du joueur.
--> requête mysql (dimension 25) sur les table map, perso, objet etc...
Déplacement du personnage:
Pour optimiser je vais recharger uniquement la colonne ou ligne de case dans la direction de laquelle se dirige le joueur.
Si je ne recharge qu'une partie de la carte, il faut que j'ai préalablement garder les informations de la carte quelque part. Je pense à stocker ça dans la $_SESSION[].
--> récupération des données de la $_SESSION[]
--> requête mysl (dimension 5)
--> concaténation des information et affichage.
L'avantage c'est que la "mise à jour" de la carte sera moins couteuse en terme de requete SQL (requête plus simple), mais est ce que récupérer des informations depuis la session (avec éventuellement un unserialize/serialize) est plus efficace/rapide qu'un accès à la BDD. (Sachant qu'il sera de toute façon nécessaire d'accéder à la BDD pour remettre a jour la nouvelle ligne/colonne.)
En gros ma question est : " Est ce que ça vaut le coup ?"
PS : je suis conscient que garder les informations de la carte en cache risque de données des erreurs au final si un autre joueur dans la vision de mon joueur se déplace en meme temps que lui, il sera toujours afficher à son ancienne position. Je peux décider de ne conserver que les variables statique du terrain, genre le type de terrain, qui ne risque pas d'évoluer. Ma question est général sur Session vs Accès BDD. Est-ce que ça vaut le coup de charger sa session avec plein d'infos plutot que de réaccéder à la BDD ?
C'est une question assez générale mais que je vais illustrer sur un cas particulier.
Initialisation :
Je charge une carte 5*5 à la connexion du joueur.
--> requête mysql (dimension 25) sur les table map, perso, objet etc...
Déplacement du personnage:
Pour optimiser je vais recharger uniquement la colonne ou ligne de case dans la direction de laquelle se dirige le joueur.
Si je ne recharge qu'une partie de la carte, il faut que j'ai préalablement garder les informations de la carte quelque part. Je pense à stocker ça dans la $_SESSION[].
--> récupération des données de la $_SESSION[]
--> requête mysl (dimension 5)
--> concaténation des information et affichage.
L'avantage c'est que la "mise à jour" de la carte sera moins couteuse en terme de requete SQL (requête plus simple), mais est ce que récupérer des informations depuis la session (avec éventuellement un unserialize/serialize) est plus efficace/rapide qu'un accès à la BDD. (Sachant qu'il sera de toute façon nécessaire d'accéder à la BDD pour remettre a jour la nouvelle ligne/colonne.)
En gros ma question est : " Est ce que ça vaut le coup ?"
PS : je suis conscient que garder les informations de la carte en cache risque de données des erreurs au final si un autre joueur dans la vision de mon joueur se déplace en meme temps que lui, il sera toujours afficher à son ancienne position. Je peux décider de ne conserver que les variables statique du terrain, genre le type de terrain, qui ne risque pas d'évoluer. Ma question est général sur Session vs Accès BDD. Est-ce que ça vaut le coup de charger sa session avec plein d'infos plutot que de réaccéder à la BDD ?