@VanilaSpirit

ASP.NET как закешировать переменную в header?

Каждый раз при запросе заново делается выборка в header, ну и к ней соответственно операции на странице.

Как пример:
@{
var users = context.Users.Where(x => x.Status != null).ToList();
}


Думаю при большом объеме данных(у меня порядка 300к) и 20+ запросов в секунду - скорость выполнения на сервере заметно упадет. Можно ли как то кешировать эту переменную, либо провернуть с ней еще какую либо махинацию, чтоб она не нагружалась лишний раз? Думал сделать на неё индексирование, но ведь она по сути всегда неизменна...
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Попробуйте примерно так.
Когда будет меняться коллекция вызывайте UserStatus.Instance.UserChanged(users);
public class UserStatus{
  public static UserStatus Instance => _instance;
  public IList<User> Users => getUsers(); 
  public void UserChanged( IList<User> users){
///
}
}
Ответ написан
yarosroman
@yarosroman Куратор тега C#
C# the best
https://docs.microsoft.com/ru-ru/aspnet/core/perfo.... я думаю более целесообразное решение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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