09-06-2010, 09:56 AM
(Modification du message : 09-06-2010, 01:26 PM par Sephi-Chan.)
(09-06-2010, 09:31 AM)php_addict a écrit : - ton système de cache, utilise t il la RAM ou utilise t il un système de fichier?
Par défaut, c'est le filesystem qui est utilisé, mais on peut facilement passer à memcached (il suffit de l'installer et de spécifier les coordonnées du serveur).
(09-06-2010, 09:31 AM)php_addict a écrit : - ton exemple de HTML mis en cache fais 7Ko donc si tu as 1000 joueurs qui ont affichés cette page dans un laps de temps assez court cela te fais 7Mo de cache, a moins que le cache ne soit compressé...cela risque d'etre enorme les données mise en cache non?
Ben… 7Mo, ce n'est pas énorme sur un disque de 250Go. Mieux vaut utiliser un peu plus l'espace disque et soulager fortement le processeur (qui n'a plus besoin de toujours boucler pour construire le HTML) et la base de données (qui n'est plus du tout interrogée dans 99% des affichages). En plus, ici, j'ai formatté un peu le HTML stocké (grâce à XML Tidy) pour qu'on voit mieux ce qu'il contient, il est en fait minifié.
Et puis, n'oublie pas que le premier fragment que j'ai copié est commun à tout le monde, il n'y a donc qu'un seul fichier (pesant 4.9Ko) constant.
Ensuite, il y a un fichier pour chaque joueur, contenant le HTML qui représente les bâtiments possédés, sa taille varie selon le nombre de bâtiment (entre 1 et 37). Ici il pèse 1.9Ko pour 13 bâtiments.
(09-06-2010, 09:31 AM)php_addict a écrit : -quand est ce que le cache est detruit? à la fin de la session (beaucoup de joueur ne se deconnecte pas)? apres un certain delais?
La destruction du cache peut-être faîte manuellement (comme dans le cas que je te présente), semi-automatiquement (dans des Sweepers, qui se déclenchent quand on crée, modifie ou supprime certains objets), ou suivant un timer (ce comportement est réservé à Memcached), comme ceci :
<% cache "key-for-cache", :expires_in => 10.minutes do %>
<%# ... %>
<% end %>
Bien sûr, je peux mettre ce que je veux, des secondes aux années.
Sephi-Chan