2010-09-04 5 views
1

Je travaille actuellement sur un projet parallèle pour un client de messagerie. J'utilise une bibliothèque pour gérer la récupération des messages du serveur. Cependant, j'ai une question sur la mise en cache.Comment stocker les informations de messagerie pour le client de messagerie

Je ne veux pas récupérer la liste complète des en-têtes chaque fois que je charge le client. Idéalement, ce que je voudrais faire est de les mettre en cache, puis mettre à jour la liste avec ce qui est sur le serveur.

Quelle est la meilleure façon de procéder? Si je stocke toutes les informations d'en-tête (y compris l'ID du message du serveur) dans une base de données, chargez les en-têtes à partir de cette base de données. Ensuite, comme une tâche de fond de synchronisation avec le serveur ...

Ou y a-t-il un meilleur moyen?

Répondre

1

Regardez l'exemple de webmail de ce projet open source qui utilise la mise en cache locale:

http://mailsystem.codeplex.com/

Si je me souviens bien, il a utilisé une combinaison de messagerie texte brut RFC822 locale de stockage avec l'identifiant de message comme filename et un fichier d'index avec des données de haut niveau.

Peut-être que le message lui-même était zippé pour économiser de l'espace disque.

C'est juste un exemple pour la bibliothèque, alors ne vous attendez pas à du code art là-bas, mais c'est un début.

Questions connexes