是否有经典asp的缓存脚本?

时间:2008-10-04 14:54:14

标签: performance caching asp-classic

PHP有许多操作码缓存,据我所知,它是处理应用程序缓存方面的脚本。是否有类似经典的asp,特别是不需要组件安装的东西?

关于IIS缓存行为,从阅读here看来,行为与某种预编译步骤相关,而不是与完成的页面相关。如果我错了请纠正我

3 个答案:

答案 0 :(得分:3)

到目前为止看到你对这里的答案的评论以及你对你的问题的编辑,你似乎对缓存感到有些困惑。

我们可以谈论两种类型的缓存。

  • 操作码或模板缓存
  • 输出缓存

操作码或模板缓存是将原始脚本文件(仅仅是文本文件)转换为可由脚本引擎执行的内存操作码集时发生的缓存。 PHP有一些额外的工具,允许在随后请求脚本文件时重用这样一组操作码。类似地,ASP在内存和磁盘上保留了“compilied”操作码的缓存,以便它可以为相同脚本的后续请求提供服务,而无需再次通过整个解析过程。

输出缓存是缓存生成的发送到响应缓冲区的脚本输出的位置,以便后续对相同URL的请求(以及可能与其他标题匹配)也不会重新运行该脚本完全重新发送以前缓存的输出。


ASP没有输出缓存的功能,而ASP.NET则没有。我对PHP或其普通平台不太熟悉,无法评论这种设施是否可用。

您可以在IIS管理器(IIS6)中配置ASP的“操作码”缓存(它称之为模板缓存),打开“网站”节点上的属性窗口,转到“主目录”选项卡,然后单击“配置...”,然后选择“缓存选项”选项卡。默认情况下,500个'compilied'页面将缓存在内存中,2000将缓存在磁盘上。


在我对此答案的原始版本的评论中,您似乎在询问IIS托管的PHP是否也会受益于模板缓存。这将取决于PHP如何添加到平台。

我对PHP几乎一无所知,但我认为它只是另一个IIS脚本映射将文件扩展为PHP的文件。在这种情况下,它不会受益于ASPs模板缓存。

以下可能是虚构的,但只是试图完善图片: -

另一个不太可能的可能性是,如果PHP是一些如何添加为ASP脚本语言。在这种情况下,带有PHP扩展名的文件将映射到ASP.DLL,文件将包含<%@ language =“PHP”,或者应用程序配置中的默认语言将设置为PHP。在这种不太可能的设置中,ASP会构建一个可以缓存的模板,但是该模板是否包含“compilied”操作码等,将取决于PHP。

答案 1 :(得分: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中没有内置的缓存系统,但是通过使用Application对象来存储数据很容易构建一个。因此,本文中描述的技术可用于带来有用的性能遗留网站的增强功能,升级数据库或将代码移植到ASP.NET不是一个可行的选择。“

答案 2 :(得分:1)

也许这个课可以帮助你缓存一些东西。

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

它不需要任何已安装的组件,并将应用程序对象用作存储。因此,所有访问者都使用相同的缓存。您可以将它用于以下场景:缓存繁重的SQL查询,......