Для каждого пользователя, который входит в мое приложение ASP, он выполняет некоторый запрос из базы данных. Чтобы уменьшить трафик, я хочу кешировать каждый их результат запроса в течение примерно 10 ~ 30 секунд, поэтому, когда один и тот же пользователь запрашивает один и тот же запрос в течение продолжительности, он получит свой результат непосредственно из кэша.
Но так как MemoryCache является глобальным, мне интересно, если я сделаю:
MemoryCache UserMemoryCache = new MemoryCache(MySession.SessionID);
Это будет безопасно, и это хороший дизайн? Должен ли я просто кешировать в сессии?