2008-10-04 2 views
3

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

Что касается поведения кэширования IIS, то, по мнению here, поведение имеет отношение к некоторому этапу предварительной компиляции, а не к готовым страницам. пожалуйста, исправьте меня, если я ошибаюсь

ответ

2

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

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

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

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

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


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

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


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

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

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

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

+0

Спасибо за ваш комментарий. Является ли это поведение ограниченным asp или IIS делает это для любого типа веб-страницы (например, PHP)? Кроме того, возможно ли это кэширование для каждого пользователя (код операции + сеанс)? Я много использовал IIS и не видел признаков поведения кэширования. У вас есть ссылка, описывающая это? – 2008-10-06 20:45:11

2

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

В IIS 6.0 есть кэширование шаблона, described here (MS Windows 2003 TechCenter).

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

см. Другие distinctions of caching here.

Простой механизм для кэширования данных представлен в этой статье о Improving ASP Performance With Data Caching:

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

+0

Вопрос _does_ определяет, что подразумевается под кешем, кеш-код операции, эквивалент которого является кэшированием шаблонов, выполняемых ASP. – AnthonyWJones 2008-10-04 16:30:15

1

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

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

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

Смежные вопросы