2010-06-04 13 views
0

Ma récente découverte de memcache a créé un engouement et ouvert tout à de nouvelles possibilités. À l'heure actuelle, lorsque j'envoie un e-mail de confirmation lorsque quelqu'un s'est inscrit à l'un de nos services, je crée un "jeton" dans une table "jetons" dont l'expiration est généralement fixée à 3 jours. leur compte.Tableau Token/Activations ou Memcache?

Ensuite, j'ai un travail quotidien de cron et voir si quelque chose est en retard, auquel cas il supprime le jeton.

Est-ce quelque chose qui pourrait être fait avec memcache? Peut-être une meilleure question - est-ce quelque chose qui devrait être fait avec memcache?

Répondre

3

Devrait? Non. Memcache est un cache mémoire transitoire, ce qui signifie que toutes les données qu'il contient peuvent disparaître à tout moment, ou au moins vous devriez travailler sous cette hypothèse. Votre application devrait être entièrement fonctionnelle même si rien n'est stocké dans memcache. En fait, une technique de test relativement courante consiste à créer un cache mémoire fictif qui ne stocke aucune donnée dans le cache. (Il a les méthodes pour stocker et récupérer des données, mais ils ne font rien) Une fois que vous êtes satisfait de votre application fonctionne avec le cache factice, alors vous l'échangez et mettez dans le memcache réel.

En pratique, cela fonctionnerait probablement la plupart du temps, car à moins que votre ordinateur ne plante ou ne manque de mémoire, memcache ne supprimera pas tout simplement les données de façon arbitraire. Mais je considère que c'est une mauvaise pratique d'utiliser memcache pour quelque chose comme ça.

+0

C'était ce que je pensais mais je n'étais pas sûr - merci! –