6

Supposons que j'ai deux noeuds memcached (noeud A, B) au début, et quand ajouter un nouveau noeud C, une partie des touches sont remappés et grâce à hachage cohérent seulement certains d'entre eux.données obsolètes manutention avec memcached/hachage cohérent

Supposons une valeur avec la touche « foo » à l'origine au serveur A est maintenant à cartographiée au serveur C.

Quand je suis finalement supprimer le nœud C, la clé doit être mis en correspondance avec nœud à nouveau A, mais à ce moment, le noeud A ne contient que des données périmées.

Alors, est-ce que le vidage des données est le seul moyen de résoudre ce problème?

Répondre

2

Je pense que la seule chose que vous avez à faire avec des données obsolètes est ... rien! vous savez que si vous introduisez un nouveau serveur, une partie du cache sera invalidée. c'est tout! Laisser memcached pour se débarrasser des données périmées pour vous quand ce moment vient! Une autre chose est que vous ne pouvez pas vous débarrasser des objets périmés par vous-même, car vous ne savez pas quel serveur stocke cet objet (grâce à un algorithme de hachage cohérent).

espérons répondre à votre question.

2

Votre problème se résume à "données dans votre cache est obsolète"; alors comment le corriger?

Vous devez donc mettre à jour le cache avec la dernière valeur. Je ne pense pas qu'il existe d'alternative à cela. Vous pouvez envisager différentes approches pour l'optimiser en fonction des besoins de votre système.