Я использую MemoryCache
в ASP.NET, и он работает хорошо. У меня есть объект, который кэшируется в течение часа, чтобы предотвратить свежие данные из репозитория.
Я вижу, как кэширование работает в отладке, но также после развертывания на сервере, после того, как сделан первый вызов, и объект кэшируется, последующие вызовы составляют примерно 1/5 времени.
Однако я замечаю, что каждый новый клиентский вызов (все еще внутри этого 1-часового окна - на самом деле через минуту или две позже), похоже, имеет 1-й вызов моей услуги (которая выполняет кеширование) занимает почти столько же времени как первоначальный вызов перед кэшированием данных.
Это заставило меня задуматься - это MemoryCache
для сеанса, и каждый новый клиент, выполняющий вызов, хранит свой собственный кеш, или что-то еще происходит, чтобы заставить 1-й вызов заняться так долго даже после того, данные кэшированы?