tgoop.com/csharpproglib/6316
Create:
Last Update:
Last Update:
BitFaster.Caching — это библиотека для in-memory кеша с акцентом на работу в многопоточной среде.
В отличие от стандартного MemoryCache, она предлагает больше контроля над политиками вытеснения и поведением при высокой нагрузке.
Что умеет:
• Потокобезопасные кеши без глобальных блокировок.
• Поддержка LRU и LFU (включая TinyLFU) для выбора стратегии вытеснения.
• Атомарное вычисление значений, чтобы избежать шторма запросов.
• Настраиваемые политики истечения: по времени доступа или записи.
• API-билдер для конфигурации размера и параметров кеша.
Пример:
var cache = CacheBuilder
.NewLru<string, MyObject>()
.WithCapacity(1000)
.ExpireAfterAccess(TimeSpan.FromMinutes(5))
.Build();
var value = cache.GetOrAdd("key", k => new MyObject(k));
#sharp_view