30-01-2015, 04:13 PM
(30-01-2015, 03:02 PM)Max72 a écrit : En y songeant encore plus, j'imposerai le recalcul depuis la DB si cela n'a pas été fait depuis plus de 15 minutes, histoire que la session reste la plus cohérente possible.
Pourquoi ne pas simplement la mettre à jour à chaque fois que tu recalcules tout, c'est à dire à chaque modif ? Au lieu de décider arbitrairement de 15 minutes, tu te contentes de simplement cacher en session tout ce que tu calcules, à chaque fois. Mais ce n'est pas suffisant :
Le problème est que si joueur A modifie le jeu de joueur B (pille ça cité par exemple pour un jeu style travian), il faut aussi que la session de joueur B soit modifiée. Or, comme joueur B n'a pas fait de modif, sa session n'est pas rafraîchie. Et rafraîchir toutes les 15 minutes ne solutionne pas vraiment le problème. Une autre raison pour moi d'oublier ce système de cache pour le moment.
(30-01-2015, 03:02 PM)Max72 a écrit : Pour les mesures, je n'en ai fait aucune, mais je vois ça d'un point de vue logique :
10 (voire 20 lorsque le jeu sera plus évolué) requêtes toutes les 2 secondes par joueur, ça me paraît plus lourd qu'un simple accès à un cookie.
Mais de quelle logique parle-t'on ? est-tu sûr que faire 20 requêtes sur la même machine est plus lent que d'envoyer 3ko de cookie crypté, de le décrypter, de le parser (json_decode) par exemple ?
Pourquoi chaque joueur devrait envoyer une requête toutes les 2 secondes ?