gpt4 book ai didi

PHP ob_start vs opcode APC,解释差异和实际用法?

转载 作者:可可西里 更新时间:2023-11-01 12:52:34 27 4
gpt4 key购买 nike

前提:我不是要重新发明轮子,我只是想理解。

可以轻松实现输出缓存:

//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());

another article 中解释得很好, 以及 another answer .

然后是 APC(默认情况下将包含在 PHP6 中)。

  1. APC 是否是一个模块,一旦安装到服务器上,现有PHP 代码无需修改就会运行得更快?

    APC 是自动吗?

  2. 那为什么会有apc_add这样的函数呢?

    我们如何使用 APC 缓存整个页面?

  3. 安装 APC 后,我还需要我的缓存吗?

  4. 如果 APC 能为托管服务提供商省钱,他们为什么不安装它? (我的意思是他们应该竞相安装它,但我没有看到这种情况发生。)

    安装 APC 对这些托管服务提供商有不利影响吗?

最佳答案

APC 是一个操作码缓存:

The Alternative PHP Cache (APC) is a free and open opcode cache forPHP. Its goal is to provide a free, open, and robust framework forcaching and optimizing PHP intermediate code.

这与模板缓存(您正在演示的内容)不同,它对输出缓冲 的影响很小。这不是一回事。

操作码缓存意味着 在 PHP 代码被解释后缓存。这可以是任何代码片段(不一定是输出 HTML 的代码片段)。例如,您可以将类和模板引擎本身放在操作码缓存中。这将大大加快您的代码速度,因为 PHP 解释器不需要再次“解释”您的代码,它可以简单地从缓存中加载“解释”版本。

请不要将输出缓冲与缓存混淆。有许多级别的缓存,例如,您可能熟悉的最常见的两个级别。

缓存 session

这是一个非常基本的版本,它是一个存储一些设置的 cookie。您只执行一次“计算”设置的代码(当用户登录时),在 session 的其余部分,您使用 cookie 中的“缓存”设置。

缓存呈现的模板

当一个页面只需要生成一次,但不会经常更改时,就会执行此操作。例如“每日特价”页面,它是一个模板。您只需生成一次,然后从缓存中提供“呈现”页面。

这些都不使用 APC

关于PHP ob_start vs opcode APC,解释差异和实际用法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9977442/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com