ASP.NET MVC Кэширующийся сценарий

Воссоздают катастрофический отказ.

Попытка воссоздать проблему как или когда это произошло.

  1. , Что Вы недавно изменили?
  2. при изменении чего-то связанный код попытайтесь комментировать код, пока Вы не достигли точки, где это больше не отказывает.
  3. Попытка узнать , ГДЕ точно в Вашем процессе выполнения программы это отказывающий

, Если у Вас ранее было рабочее решение, сравните то, что Вы имели, к какому Вы имеете теперь.

ТОЧКИ ОСТАНОВА ИСПОЛЬЗОВАНИЯ!!! : https://developer.android.com/studio/debug. Ступите через свой проект, попытайтесь видеть то, что значения переменных и почему он мог потенциально отказывать.

Делают Ваш код читаемым и понятным кому-либо еще. прочитывает Ваш собственный код снова и пытаются видеть, имеет ли он смысл Вам, объясните это себе. Если существует что-то в Вашем коде, Вы не понимаете, или Вы не уверены в этом, смотрите на него снова, пытаетесь писать это более ясный:

  1. использование ясные, понятные имена переменной
  2. код взлома в мелкие кусочки (методы или функции)
  3. использование комментирует для объяснения чего-либо, что не ясно или легко понять

(, необходимо понять код, и необходимо быть в состоянии объяснить, что Вы пытаетесь сделать)

, И наконец попытайтесь исследовать, и узнать больше о конкретный часть Вашего кода Вы не понимаете, или Вы не уверены в.

6
задан Phil 2 September 2009 в 15:01
поделиться

3 ответа

Если вы используете Sql Server, есть еще один вариант, который следует рассмотреть:

Используйте класс SqlCacheDependency , чтобы сделать ваш кеш недействительным при обновлении базовых данных. Очевидно, это дает результат, аналогичный варианту 2.

Мне, возможно, действительно придется согласиться с Agileguy - описания ваших запросов кажутся довольно упрощенными. Думать наперед и учитывать кеширование при разработке - это хорошая идея, но доказали ли вы, что на самом деле вам это нужно сейчас ? Вариант 3 кажется намного лучше, чем вариант 1, если предположить, что вы на самом деле не имеете сейчас серьезных проблем с производительностью.

5
ответ дан 10 December 2019 в 02:50
поделиться

Преждевременная оптимизация - это корень всех зол;)

Тем не менее, если вы собираетесь использовать кэш, я бы использовал решение, основанное на варианте 2.

У вас меньше возможностей для "грязных" данных таким образом.

Kindness,

Dan

4
ответ дан 10 December 2019 в 02:50
поделиться

Второй вариант - лучший. Не должно быть так сложно, если одно и то же приложение редактирует / кэширует данные. Может быть сложнее, если существует более одного приложения.

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

Никогда не отключайте кеширование, если это возможно. Всем известен стих «преждевременная оптимизация ...», но кеширование - одна из тех вещей, которые могут значительно повысить масштабируемость / производительность приложения.

0
ответ дан 10 December 2019 в 02:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: