ASP.NET MVC 3: что и когда кешировать и как решить? - PullRequest
3 голосов
/ 31 марта 2011

Я уже давно пренебрегаю изучением кэширования, и хотя раньше я использовал кэширование здесь и там, с этим я не знаком.

Я нашел отличный учебник по что такое кэширование и какие виды кэширования есть (я уже знаю, что такое кэширование), но ...

Как решить, что и когда кэшировать?Есть ли вещи, которые всегда должны быть кэшированы?В каких ситуациях никогда не следует использовать кэширование?

Ответы [ 2 ]

4 голосов
/ 31 марта 2011

Первое правило: не кэшируйте, пока вам это не нужно, это будет преждевременная оптимизация (первая найденная ссылка, Google для получения дополнительной информации)

Самая большая проблема с кешированием - это недействительность кеша. Что происходит, когда данные, которые вы кэшировали, обновляются. Вы также должны убедиться, что ваш кэш обновлен и, если он сделан неправильно, часто становится беспорядком.

Я бы:

  1. Сборка приложения без кэширование и убедитесь, что функционал работает как задумано
  2. Провести тестирование производительности и применять кеширование при необходимости
  3. После применения кеширования сделать тестирование производительности еще раз, чтобы проверить что вы получаете ожидаемое увеличение скорости
3 голосов
/ 31 марта 2011

Я думаю, что самый простой способ - задать себе кучу вопросов:

Изменится ли этот результат?

Нет? затем кэшировать его постоянно

Да, Когда это изменится?Когда пользователь что-то обновляет.Будет ли это влиять только на конкретного пользователя, который изменил значение, или на всех пользователей.Это должно дать вам указание, когда нужно очищать конкретный кеш.

Вы можете продолжать идти, но через некоторое время вы получите разные профили UserCache, GlobalCache - всего лишь 2 примера.Эти профили должны указывать, что нужно кэшировать, и иметь определенные критерии обновления (когда обновлять кэш)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...