Quelle est la différence entre MemoryCache.Ajouter et MemoryCache.Set?
J'ai lu le La documentation MSDN mais n'a pas vraiment le comprendre.
Je crois que le comportement de Set
est "de remplacer ou d'ajouter" (atomiquement).
Est-ce exact?
Vous devez vous connecter pour publier un commentaire.
Add
ne fait rien (renvoiefalse
) si il y a déjà une valeur pour la clé.Set
ne une insertion ou une mise à jour, si nécessaire.Remove
+Add
laisserait un vide dans le milieu quand un autre thread de l'interrogation que les clés n'ont pas la moindre idée (Set
n'; le swap est généralement atomique); en tant que tel, alors queSet
a la même résultat final commeRemove
+Add
, le mécanisme de la différence est importante, car elle pourrait avoir un impact d'autres appelants.Par exemple de Ajouter: