При разработване на проекти кешът често се използва за кеширане на някои данни според бизнес нуждите им или за кеширане на съдържанието на заявки към базата данни, за да се намали напрежението върху базата данни.
Често използвани кешове за памет: System.Runtime.Caching / MemoryCache и Microsoft.Extensions.Caching.Memory
Microsoft има 2 решения, 2 различни NuGet пакета за кеширане, и двата са страхотни, според препоръката на Microsoft, предпочитам да използвам Microsoft.Extensions.Caching.Memory, защото се интегрира по-добре с Asp .NET ядро. Тя може лесно да се инжектира в механизма за инжектиране на зависимости в Asp .NET Core.
Тази статия използва Microsoft.Extensions.Caching.Memory за кеширане на данни, което се нарича съкратено MSCache, а Microsoft въвежда:Входът към хиперлинк е видим.
Забележка: Microsoft.Extensions.Caching.Memory е безопасен за нишки
Какво може да направи MSCache?
- Абсолютна изтекла поддръжка
- Плъзгаща поддръжка на изтичане (посочете време, TimeSpan, отложено, ако има кеширано време в определения период, иначе ще изтече)
- Изтекъл повторен разговор
- Персонализиран срок на годност
Настройки на кеша MemoryCacheEntryOptions
- АбсолютноИзтичанеАбсолютното време на изтичане, ако е нулево, условието е невалидно
- АбсолютноИзтичанеОтносителноКъм сегаАбсолютното време за изтичане спрямо текущото време (с използване на TimeSpan) е невалидно при нулево условие
- Плъзгащо се изтичанеПлъзнете времето за изтичане
- ExpirationTokensНалични за персонализиране на изтичането на кеша
- След изгонване Обратни разговориОбратно повиквания за инвалидиране на кеша
- ПриоритетПриоритет на кеш елементите (редът, в който кешът се изчиства абсолютно при пълне)
- РазмерПредставлява размера на кешираните данни, които обикновено са нулеви в кеша в паметта
Започнете с MSCache
Проект ASP.NET основен MVC Инсталация на командите NuGet:
Когато използвате, направете прости пакети.
Интерфейс:
Реализация:
Конфигурация за инжектиране на зависимости единичен тон
Тестовете използват MSCache
Запишете данни, използвайки относителна и плъзгаща се ексекция, и извършите тест за четене с кода, както следва.
Код на контролера:
Записвайте кеширани данни:
Прочетете кеширани данни:
Достъп:Входът към хиперлинк е видим.След като зададете относителната изтичане и плъзгащата се изтичане, достъпете: https://localhost:44370/Home/Get Вземете кешираните данни по следния начин:
В рамките на 30 секунди посетих линка, за да прочета кеша няколко пъти и установих, че абсолютният срок на валидност изтече напълно след 30 секунди, но все още можех да го прочета след като го плъзнах, както е показано на фигурата по-долу:
(Край)
|