Premise: I'm not trying to reinvent the wheel, I'm just trying to understand.
输出缓存可以轻松实现:
//GetFromMyCache returns the page if it finds the file otherwise returns FALSE
if( ($page = GetFromMyCache($page_id)) !== FALSE )
{
echo $page; //sending out page from cache
exit();
}
//since we reach this point in code, it means page was not in cache
ob_start(); //let's start caching
//we process the page getting data from DB
//saving processed page in cache and flushing it out
echo CachePageAndFlush(ob_get_contents());
解释得很好另一篇文章 http://simonwillison.net/2003/May/5/cachingWithPHP/,并且也在另一个答案 https://stackoverflow.com/a/1547394/260080.
但接下来是APC(默认情况下将包含在 PHP6 中)。
-
APC是一个曾经安装在服务器上的模块吗?existingPHP 代码将运行得更快不加修改?
Is APC 自动的?
-
那么为什么会有这样的函数apc_add
?
我们如何使用 APC 缓存整个页面?
-
安装APC后,我还需要吗do我有缓存吗?
-
如果 APC 想要为托管提供商节省资金,他们为什么不安装它呢? (我的意思是他们应该竞相安装它,但我不认为这种情况会发生。)
安装 APC 对这些托管提供商有缺点吗?
APC是一个opcode cache:
替代 PHP 缓存 (APC) 是一个免费且开放的操作码缓存,用于
PHP。其目标是提供一个免费、开放且强大的框架
缓存和优化 PHP 中间代码。
这与模板缓存(您正在演示的)不同,并且它对输出缓冲。这不是同一件事。
操作码缓存方式解释后缓存 PHP 代码。这可以是任何代码片段(不一定是输出 HTML 的内容)。例如,您可以将类和模板引擎本身保存在操作码缓存中。这将极大地加快您的代码速度,因为 PHP 解释器不需要再次“解释”您的代码,它只需从缓存中加载“解释”版本即可。
请不要将输出缓冲与缓存混淆。缓存有很多级别,例如,您可能熟悉的最常见的两个级别。
缓存会话
一个非常基本的版本是存储一些设置的 cookie。您仅执行一次“计算”设置的代码(当用户登录时),并且对于会话的其余部分,您使用 cookie 中的“缓存”设置。
缓存渲染的模板
当页面需要生成一次但不经常更改时,可以执行此操作。例如“每日特价”页面,它是一个模板。您只需生成一次,然后从缓存中提供“渲染”页面。
这些都不使用APC
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)