|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité régulier
![]() Inscription : mars 2006 Messages : 29 ![]() |
Bonjour,
Je suis en train de developper un petit script pour faire des plans de site Google Sitemaps pour les forums phpBB et je me pose un petite question à propos du format à employer pour mettre en place un système de cache. Le problème est assez générale, c'est pour quoi je poste ici. L'intérêt d'éviter de lister 5000 éléments sans cache toutes les 3 minutes est assez évident. Principe : Le script sort une liste d'url (jusqu'à 50 000, mais 5000 est déjà beaucoup). Du coup, j'ai découpé l'énorme requête SQL en cycles. Disons que l'on configure un cycle de 200 éléments par requête. Le script les récupère et les envois directement par echo. Du coup, il est assez simple de créer un fichier de cache correspondant à un cycle et de le mettre à jour tous les jours. Question : Donc, j'ai procédé par étapes. J'ai tout d'abord simplement mis en cache un var_export(), puis un serialize() du résultat de la requête. Plus rapide. Puis, j'ai carrément essayé de mettre en cache un tableau contenant le résultat mis en forme plutôt que simplement le résultat de la requête SQL, en me disant que c'était toujours ça de moins à refaire. Ce qui veut dire que j'ai des trucs comme : Code :
Les fichier caché sont de cette forme : Code :
Et je dois donc ajouter une petit boucle pour afficher les éléments du tableau. Et là, c'est semble t il beaucoup plus rapide que de seulement mettre en cache la requête. Du coup, je me suis dit qu'il était encore possible d'éviter de faire travailler php en utilisant un cache de cette forme : Code :
Alors je me demande si c'est normal, si cela pourrait être différent sur des cache de genre 250 éléments. Je pensait que le xml ne serait pas interprété et que l'on ne pouvait espérer aller plus vite. La c'est carrément deux fois plus long d'inclure le deuxième cache que de traiter le second. Voilà donc ma question donc si vous en êtes à lire la fin de ce message vous avez sûrement un début d'idée ++ |
||||||
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() Inscription : mars 2006 Messages : 29 ![]() |
Bon et ben après de plus ample tests, il se confirme que l'include de xml "plat" est plus lent que l'include d'un tableau sérialisé, voir c'est même plus lent que le SQL en testant sur 500 éléments en deux cycles, alors que la méthode sérialisée va au moins deux fois plus vite que sans cache.
Donc j'ai ma réponse sur la marche à suivre, mais je ne comprend toujours pas. ++ |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : mars 2006 Messages : 29 ![]() |
lol, en fait, c'est bien ce que je pensait au début, hehe, mon premier cache était bien complet, mais pas en sortie donc, plus rapide c'est clair lol.
Mais bon, pas si simple de faire la difference entre 1047 et 618 url listé sur un explorateur Donc tout est normal. ++ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com