[.net] MemoryCache.Add와 MemoryCache.Set의 차이점은 무엇입니까?

MSDN 문서를 읽었 지만 실제로 이해하지 못했습니다.

의 동작 Set이 “기존을 대체하거나 추가”(원자 적으로) 하는 것이라고 생각합니다 .

그 맞습니까?



답변

Addfalse해당 키에 대한 값이 이미 있으면 아무 작업도 수행하지 않습니다 (을 반환 ). Set필요에 따라 삽입 또는 업데이트를 수행합니다.

Remove+ Add는 해당 키를 쿼리하는 다른 스레드가 실마리를 얻지 못할 때 중간에 간격을 남깁니다 Set. 반면 같은 Set동일한 갖는 최종 결과 로서 Remove+를 Add그 다른 호출자에 영향을 미칠 수 있기 때문에,기구의 차이는 중요하다.

예를 들어 추가 :

반환 값

형식 : System.Boolean 삽입에 성공하면 true이고 키와 동일한 키가있는 캐시에 항목이 이미 있으면 false입니다.


답변