2010-01-05 4 views
0

Pour un lecteur rss simple, je stocke les résultats des requêtes dans une base de données côté client (google gears). Donc, myapp.php? Query = xyz est stocké dans une colonne, et le résultat xml est stocké dans la colonne suivante. Puis, lorsque myapp.php? Query = xyz est demandé, je tente d'abord de charger à partir du contenu mis en cache dans la deuxième colonne.Quand actualiser/remplacer le cache dans le lecteur RSS

Je dois déterminer quand je dois remplacer/actualiser/surpasser ce contenu en cache avec le contenu du serveur.

J'ai aussi besoin de savoir quand mettre à jour les données affichées. Dois-je remplacer le cache en arrière-plan, après avoir affiché le contenu mis en cache, puis l'utilisateur le voit la prochaine fois qu'il accède à cet écran? Dois-je montrer le contenu mis en cache, puis remplacer le contenu "sous leurs yeux" lorsque le serveur renvoie de nouvelles données?

Quel est le point approprié à 1) remplacer le cache de nouvelles données 2) mettre à jour les données affichées

Toute aide serait grandement appréciée!

+0

Il n'y a pas de «bonne réponse» à votre question. Je suggère que vous commenciez avec ce qui est le plus facile à implémenter, et si vous n'aimez pas le comportement, faites les ajustements appropriés. –

Répondre

0

Conservez également l'horodatage du fichier (ou le dernier tampon modifié) dans une 3e colonne de la table de base de données. Lorsque vous constatez que l'heure d'origine est différente, prenez une nouvelle copie. De même, vous pouvez le faire avec la taille des données ou un autre type de mécanisme de détection qui correspond à votre contenu.

Il est inhabituel de remplacer beaucoup d'informations «sous les yeux» sur le Web, à moins que vous ayez besoin de données en temps réel. Mais une application Web peut ne pas être le meilleur choix pour les données en temps réel en raison de son modèle sans état de demande-réponse. Vous utiliserez certainement beaucoup plus de bande passante pour le rafraîchir continuellement sous vos yeux.

Cela dépend des exigences de l'application.