Тезисы

  • Если у приложения 1 инстанс и единственным источнком изменений данных в хранилище является это приложение, то данные в кеше не будут устаревать. Приложение обновляет свой кеш, а потом данные в хранилище.
  • Если же инстансов больше 1 или данные изменеются извне, то данные в кеше будут устаревать и необходимо обновлять кеш, либо через какие то промежутки времени, либо наличие какой либо системы оповещения других инстансов об обновлении.

Вроде бы у asp.net есть встроенный инструмент для методики поддержки актуальных данных, основанный на тригерах. (На таблицу, привязанную к кешу вешается триггер, который оповещает приложение об изменения в данных и необходимости обновить кеш).

Рассмотреть подробнее платформу Redis для организации выделенного хранилища в оперативной памяти.

Вопросы

  1. В простой ситуации имеет ли смысл использовать инструменты фреймворка для кеширования или проще/лучше организовать кеш на основе синглтона (С учетом ассинхронности при работе к кешем).

Материалы


 

Теги: c# кеш static
Создал(а) Alexandr Fokin 2020/02/16 21:35