我对编程有点新意,对数据缓存有很多疑问。 说,我们有一块静态内容。什么会更快:将内容保存到php \ html文件并按原样输出页面,或使用将通过apc_fetch()输出内容的脚本(假设它以前保存在内存中)?在第一种情况下,Apache将始终从文件系统中读取页面,并且它永远不会将页面保留在RAM中,不是吗?目前的APC实施是否适用于FastCGI?提前谢谢!
与使用文件系统相比,使用APC缓存的基准测试为什么基准测试显示速度提高了四倍,而Apache可以如此快速地加载静态页面。
答案 0 :(得分:1)
我不会静态缓存整个页面,而是缓存该页面上动态的部分(数据库调用等),然后使用文件系统或memcache来存储这些缓存结果。
随着网站的增长,编写静态页面将变得更加难以维护,如果更频繁地重建页面,则会增加开销。
答案 1 :(得分:0)
静态HTML始终是最快的。即使使用操作码缓存,PHP仍然必须加载和运行脚本,转到缓存等。另一方面,Apache的主要目的是尽可能快地提供静态内容,并进行了优化。
答案 2 :(得分:0)
如果您的网络服务器必须从磁盘中获取每个内容项,那么它将会令人难以置信地变慢。所有现代操作系统都实现了复杂的磁盘缓存。
将内容保存到php \ html文件中并按原样输出页面,或者使用将通过apc_fetch()输出内容的脚本
访问静态文件(即不是PHP文件)比访问PHP文件,解析PHP,然后执行PHP以调用apc_fetch()要快得多。至于从PHP生成html页面是否更快,或者使用PHP从APC检索生成的结果,答案将取决于PHP必须做多少努力
我希望......
<?php
print "hello world";
?>
会比
更快<?php
print apc_fetch('hello');
?>