Яка різниця між MemoryCache.Add і MemoryCache.Set?


Відповіді:


173

Addнічого не робить (повертає false), якщо для цього ключа вже є значення. Setробить вставку чи оновлення, якщо потрібно.

Remove+ Addзалишить проміжку в середині, коли інший потік, який запитує, що ключ не отримає жодної підказки ( Setні, своп типово атомний); як такий, хоча Setмає той самий кінцевий результат, що і Remove+ Add, різниця в механізмі важлива, оскільки може вплинути на інших абонентів.

Наприклад, Додати :

Повернене значення

Тип: System.Boolean true, якщо вставлення вдалося, або false, якщо в кеші вже є запис, який має той самий ключ, що і ключ.


1
Чи setзамінює політику, якщо елемент існує?
TS

1
Я щойно побачив ваше майже річне повідомлення, я працюю над подібною проблемою. Усі перевантаження SET вимагають політики, тому відповідь "так".
користувач2223142
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.