首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php apc与模板缓存的区别

问php apc与模板缓存的区别
EN

Stack Overflow用户
提问于 2011-01-04 09:20:16
回答 2查看 746关注 0票数 0

大家好,我对Apc和模板缓存有点困惑。

我的意思是模板缓存有点像智能缓存功能。

基本上,它们之间的区别是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-04 10:06:15

APC缓存将php脚本编译成可执行的二进制操作码,并在以后使用它。

简而言之,编译一次,存储到内存中,并可重用,直到生存时间结束,或者直到文件更新。

除了这种主要用途之外,APC还可以用于将运行时变量存储到内存中(您可以将其视为访问同一页面的每个人的全局会话)

虽然从技术上讲,smarty缓存不是二进制操作码缓存,但PHP二进制仍然需要在每次执行时将其转换为二进制操作码。

smarty缓存的好处是它将呈现的HTML/输出存储到磁盘(或者您可以将输出保存到APC中,第二次使用)

这意味着它节省了执行周期,而不是编译周期。

票数 1
EN

Stack Overflow用户

发布于 2011-01-04 11:51:58

ajreal的回答很好。我只需添加以下内容:

Smarty的模板缓存和APC的操作码缓存在不同的级别上是相同的。如果你有一个聪明的模板,并且没有在任何地方进行缓存,下面(大致)是为了执行该模板需要发生的事情:

1)运行(lex,parse,and intepret) smarty模板代码。最终结果是PHP代码。

2)运行PHP代码。这里的输出是php字节码。

3)运行字节码。这里的输出是机器码。(除非有一些我不知道的中间步骤)。

4)运行机器代码。

在smarty中缓存将缓存步骤1的输出。

APC缓存步骤2的输出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4589894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档