Création d'un moteur pour gèrer le cache [PHP/Ruby] - PHP - Programmation
Marsh Posté le 27-01-2005 à 00:19:50
Tu stocke ton tralala dans une base de données... Ensuite à l'appel de la page, tu vérifie dans la base si les données sont bonnes, ou si le timestamp est valide ou trop vieux. Suivant ce que t'obtient, tu include soit la page déjà faite, soit le script qui va générer la page
Marsh Posté le 27-01-2005 à 08:49:55
Vérifier que les données soient bonnes je suis pas sur que ça soit une bonne solution ;-)
Ceci dit je peux faire une mixte de vérification de db et de timestamp.
C'est à dire a chaque ligne modifier dans ma db je met l'unix time à laquel la ligne a été modifié. Et après il suffit que je regarde si la date de création de la page cache est plus récente ou plus vieille que cette date :')
Le problème de cette méthode ceci-dit, c'est qu'il faut que je regarde tous les unix time dans la base de donnée qui concerne ma page. Et pour savoir quel ligne corresponds à ma page c'est un peu beaucoup chiant :')
Ceci-dit, il n'y a pas de problèmes de sécurités en procédent comme je veux faire ?
Marsh Posté le 26-01-2005 à 23:27:32
Tout d'abords je veux faire ça en ruby.
Donc s'il vous plait ne me dites pas d'utiliser le php.
Ne me dites pas non plus "c'est la rubrique php".
Dans les grandes lignes on peut dire que ces deux langages se ressemblent beaucoup.
Et ici je vais parler de concept, pas de ligne de code, donc mon concept s'adaptera tout aussi bien en PHP qu'en Ruby :-)
Donc :
Je veux créer mon système de cache, mais étant relativement incompétent dans le domaine, je me demande comment procéder de manière efficace.
Actuellement je pars sur ce principe :
En haut de chaque page php je fais un appel a une fonction "check_cache();".
La fonction verifie si la page appelé est déjà enregistré en cache ou non, si elle l'est elle affiche le cache, sinon elle laisse continuer l'interprétation du reste de la page.
Pour vérifier si la page est déjà en cache ou non je compte sauvegarder dans une base mySQL la requète _GET ainsi que les éventuels _COOKIE et _SESSION. Je sauvegarde donc tout ça et j'assigne tout ceci à la page "xxx-cache.html".
Ensuite si quelqu'un effectue une requête, je regarde dans ma page si je trouve quelque chose qui corresponds au niveau _GET, _COOKIE et _SESSION, si c'est le cas j'affiche le cache.
Je me demande donc si cette méthode ne souffre pas de lacune niveau sécurité. Vous avez bien entendu compris que si je sauvegardais _COOKIE et _SESSION c'est parce que les pages appelés seront différentes selon sous quel session est loggué la personne.
Ensuite, au bout de combien de temps doit être rafraichir le cache ?
Je peux mettre une "durée de vie", par exemple dire que si le cache date de plus de 5mn on l'efface. Je peux aussi faire appel à une fonction qui efface un cache si je sais que des donnés concernant ce cache sont mises à jours.
Avez vous une suggestion pour la durée de vie de mes caches ?
Ou une suggestion pour mon procédé d'identification de la page pour mettre en cache ?
Merci d'avance
oxman