Есть ли кеширующий скрипт для классического asp? - PullRequest
4 голосов
/ 04 октября 2008

PHP имеет несколько кешей опкодов, которые, насколько я понимаю, являются скриптами, которые обрабатывают аспекты кэширования приложения. Есть ли что-то похожее на классический asp, особенно то, что не требует установки компонентов?

Относительно поведения кэширования IIS, читая здесь , кажется, что поведение относится к некоторому этапу предварительной компиляции, а не к готовым страницам. поправьте меня пожалуйста если я не прав

Ответы [ 3 ]

3 голосов
/ 04 октября 2008

Глядя на ваши комментарии к ответам здесь и при редактировании вашего вопроса, вы, кажется, немного запутались в кешировании.

Есть два типа кэширования, о которых мы могли бы говорить.

  • Код операции или Кэширование шаблона
  • Кэширование вывода

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

Кэширование вывода - это место, где сгенерированный вывод скрипта, который отправляется в буфер ответов, кэшируется, чтобы последующие запросы идентичного URL (и, возможно, совпадения с другими заголовками) не перезапускали Сценарий вообще, но повторно отправьте ранее кэшированный вывод.


В ASP нет средств для кэширования вывода, тогда как в ASP.NET - нет. Я недостаточно знаком с PHP или его обычными платформами, чтобы прокомментировать, доступна ли такая возможность для него.

Вы можете настроить кэширование "кода операции" ASP (которое он называет кэшированием шаблона) в диспетчере IIS (IIS6), откройте окно свойств на узле веб-сайтов, перейдите на вкладку домашнего каталога и нажмите Конфигурация ... затем выберите вкладку параметров кэширования. , По умолчанию 500 «скомпилированных» страниц будут кэшироваться в памяти, а 2000 - на диске.


В комментарии к моей исходной версии этого ответа вы, похоже, спрашиваете, может ли PHP, размещенный в IIS, также извлечь выгоду из кэширования шаблонов. Это будет зависеть от того, как PHP будет добавлен в платформу.

Я почти ничего не знаю о PHP, но представляю, что это просто еще одна DLL, в которую IIS-скрипт отображает файлы с расширением PHP. В таком случае кеширование шаблонов ASP не принесет пользы.

Следующее, вероятно, выдумка, но просто попытаться закруглить картинку: -

Другая маловероятная возможность была бы, если бы PHP был каким-то образом добавлен как язык сценариев ASP. В этом случае файлы с расширением PHP будут сопоставлены с ASP.DLL, и файлы будут содержать <% @ language = "PHP", или язык конфигурации по умолчанию в конфигурации приложения будет установлен на PHP. При такой маловероятной настройке ASP будет создавать шаблон, который будет кэшироваться, однако, будет ли этот шаблон содержать «скомпилированный» код операции и т. Д., Зависит от PHP. </p>

2 голосов
/ 04 октября 2008

Это зависит от того, что вы подразумеваете под «кешем».

В IIS 6.0 есть кэширование шаблонов, , описанное здесь (MS Windows 2003 TechCenter):

"ASP обрабатывает шаблоны или файлы шаблонов, которые содержат сценарии ASP. ASP сохраняет эти шаблоны в кэше шаблонов и затем обслуживает кэшированные шаблоны для последующих клиентских запросов. Кэширование шаблонов ASP повышает производительность и масштабируемость, поскольку кэшированные шаблоны не компилируется при каждом вызове. "

Вы можете найти другие отличия кэширования здесь .

В этой статье представлен простой механизм кэширования данных о Повышении производительности ASP с помощью кэширования данных :

"К сожалению, в классическом ASP нет встроенной системы кэширования, но ее легко создать с помощью объекта Application для хранения данных. Таким образом, методы, описанные в этой статье, могут использоваться для обеспечения полезной производительности. усовершенствования устаревших веб-сайтов, где обновление базы данных или перенос кода на ASP.NET не является жизнеспособным вариантом. "

1 голос
/ 05 октября 2008

Может быть, этот класс поможет вам кэшировать некоторые вещи.

http://www.webdevbros.net/2006/11/18/cache-object-for-classic-asp/

Не требует никаких установленных компонентов и использует объект приложения в качестве хранилища. Поэтому один и тот же кеш используется всеми ВСЕМИ вашими посетителями. Вы можете использовать его для таких сценариев, как, например: кэширование тяжелого запроса SQL, ...

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