Page 1 sur 1

[RSS] Comment on gère les données ? Au coup par coup ou tout

Posté : 16 mai 2009, 11:47
par toojee
Bonjour,

je souhaite extraire des infos d'une base de donnée pour les mettre dans un xml qui sert donc de fil RSS.

Ma question est simple:

-faut-il ajouter un item au xml à chaque ajout de news et donc supprimer les anciens items par la même occasion. A chaque rafraichissement de la page par le visiteur, aucun appel a la BDD n'est effectué.

OU

Faut - il générer a chaque rafraichissement les informations provenant de la base en mettant un LIMIT 0, 20 par exemple, dans la requete mysql.

J'ai vu sur divers site que la page RSS était un php et non un xml directement et il y avait une variable genre ?rub=2 qui affiche une page différente selon la variable transmise. Je pense donc que le flux est généré a chaque appel mais j'ai quelque doute... car on perd l'avantage d'avoir moins de requete en utilisant le RSS.

Comment faite vous, ou quelles choix utilisent les solutions les plus connus ?

merci

Re: [RSS] Comment on gère les données ? Au coup par coup ou tout

Posté : 27 sept. 2009, 16:34
par @rthur
Bonjour,

Je vais répondre avec beaucoup de retard à cette question, mais le sujet est intéressant.

D'un point de vue optimisation, une (ou plusieurs) requête SQL est forcément plus gourmande en ressource qu'un accès à un fichier texte.

Le + simple est de générer à la volée le XML avec une requête SQL.
Le + optimisé serait de créer un fichier XML en dur et de ne le mettre à jour qu'à chaque ajout/modification d'un élément.
A mi-chemin entre ces deux solutions, tu peux appliquer la première en ajoutant un cache de X secondes/minutes/jours pour éviter de faire des requêtes à chaque demande.

Il n'y a pas de meilleure solution dans l'absolue, cela dépend de la fréquentation de ton site, de la fréquence des mises à jour du XML et également de l'importance ou non que ton RSS soit immédiatement à jour dès publication d'une nouvelle news.