Наименее недавно использованный (LRU) удаляет ключ-значение, которое используется меньше всего, когда кэш заполнен и ему нужно добавить значение. В то время как MemoryCache удаляет самые старые ключи-значения или те, которые прошли срок годности, если он у них есть.
Скажем, если первое добавленное вами значение ключа является жизненно важным и вы все время читаете, то в кэше LRU оно будет сохранено, но в кэше памяти оно в конечном итоге исчезнет и его нужно будет заменить. Иногда, хотя исчезновение старых ключей и значений - это то, что вам нужно, поэтому актуальные значения извлекаются из вашего бэкэнда (например, из базы данных).
Подумайте также, следует ли рассматривать добавление существующей пары "ключ-значение" как `` использованное '' (поэтому недавно обновленный материал, как правило, остается), или если `` используется '' только тогда, когда вы читаете ключ-значение, поэтому вы просто отдаете предпочтение тому, что вы читатель любит. Как всегда, я бы подумал о параллелизме, если он используется более чем одной задачей или потоком.
person
andrew pate
schedule
10.06.2019
MemoryCache
в BCL. - person Yuval Itzchakov   schedule 19.09.2015