PHP有许多操作码缓存,据我所知,它是处理应用程序缓存方面的脚本。是否有类似经典的asp,特别是不需要组件安装的东西?
关于IIS缓存行为,从阅读here看来,行为与某种预编译步骤相关,而不是与完成的页面相关。如果我错了请纠正我
答案 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查询,......