Кеширование
Версия 1.30 от Alexandr Fokin на 2022/10/05 17:02
Допустимость устаревания/(задержки обновления) | |
Если у приложения 1 инстанс и единственным источником изменений данных в хранилище является это приложение, то данные в кеше не будут устаревать. Приложение обновляет свой кеш, а потом данные в хранилище. | |
Если же инстансов больше 1 или данные изменяются извне, то данные в кеше будут устаревать и необходимо обновлять кеш, либо через какие то промежутки времени, либо наличие какой либо системы оповещения других инстансов об обновлении. |
Вроде бы у asp.net есть встроенный инструмент для методики поддержки актуальных данных, основанный на тригерах. (На таблицу, привязанную к кешу вешается триггер, который оповещает приложение об изменения в данных и необходимости обновить кеш).
Redis |
Memcached |
Вопросы
- В простой ситуации имеет ли смысл использовать инструменты фреймворка для кеширования или проще/лучше организовать кеш на основе синглтона (С учетом ассинхронности при работе к кешем).
Материалы
- Asp.net - Caching vs Static Variable for storing a Dictionary
https://stackoverflow.com/questions/1308354/asp-net-caching-vs-static-variable-for-storing-a-dictionary - Применение инфраструктуры кеширования в ASP.NET, продолжение
https://habr.com/ru/post/240269/ - Расширяем и улучшаем Cache в ASP.NET
https://habr.com/ru/post/61617/ - “Незаметное” добавление кэширования
https://andrey.moveax.ru/post/adding-cache-to-di-application - Статическая переменная