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