.net - ¿Cuál es la diferencia entre MemoryCache.Add y MemoryCache.Set?
(1)
Add
no hace nada (devuelve false
) si ya hay un valor para esa clave. Set
hace una inserción o actualización, según sea necesario.
Remove
+ Add
dejaría un espacio en el medio cuando otro hilo que consulta la clave no tenga pista (el Set
no lo hace, el intercambio es típicamente atómico); como tal, mientras que Set
tiene el mismo resultado final que Remove
+ Add
, la diferencia de mecanismo es importante, ya que podría afectar a otras personas que llaman.
Por ejemplo, Add :
Valor de retorno
Escriba: System.Boolean true si la inserción tuvo éxito, o es falso si ya hay una entrada en la memoria caché que tiene la misma clave que la clave.
Leí la documentación de MSDN pero realmente no lo entendí.
Creo que el comportamiento de Set
es "reemplazar existente, o agregar" (atómicamente).
¿Es eso correcto?