php apc使用方法,使用APC进行PHP缓存

APC(Alternative PHP Cache)为PHP提供了两种主要功能:数据缓存和代码缓存。数据缓存允许存储和检索数据结构,如数组,以提高性能。代码缓存则保存脚本的编译版本,减少后续运行时的初始化和执行时间。通过使用apc_store和apc_fetch,可以避免慢速计算,显著提升效率。同时,启用APC即使不直接使用其功能,也能通过缓存编译代码提升脚本执行速度。
摘要由CSDN通过智能技术生成

假设我将数据缓存在PHP数组中的PHP文件中,如下所示:

/cache.php

'key' => 'value',

);

我包括这样的缓存文件:

$cache = include 'cache.php';

现在,问题是APC会在内存中自动缓存缓存文件吗?我的意思是作为典型的操作码缓存,就像所有.php文件一样.

如果我以不同方式存储数据,例如以JSON格式(cache.json),APC不会自动缓存数据?

apc_store会更快/更好吗?

解决方法:

不要将APC的缓存能力与优化中间代码和缓存编译代码的能力相结合. APC提供两种不同的东西:

>它提供了一种缓存数据结构(对象,

数组等),以便您可以使用apc_store存储/获取它们

apc_fetch

>它保留了脚本的编译版本,以便

下次他们跑,他们跑得更快

让我们看一下(1)的例子:假设你有一个需要1秒钟的数据结构来计算:

function calculate_array() {

sleep(1);

return array('foo' => 'bar');

}

$data = calculate_array();

您可以存储其输出,这样您就不必再次调用慢的calculate_array():

function calculate_array() {

sleep(1);

return array('foo' => 'bar');

}

if (!apc_exists('key1')) {

$data = calculate_array();

apc_store('key1', $data);

} else {

$data = apc_fetch('key1');

}

这将比原来的1秒快得多,远远低于原来的1秒.

现在,对于上面的(2):让APC运行不会超过1秒,这是calculate_array()需要的时间.但是,如果您的文件另外需要(比方说)100毫秒来初始化和执行,那么只需启用APC就可以使其需要(大约)20毫秒.因此初始化/准备时间增加了80%.这可以在生产系统中产生很大的不同,因此简单地安装APC会对脚本的性能产生明显的积极影响,即使您从未明确调用其任何功能

标签:php,caching,apc

来源: https://codeday.me/bug/20190714/1460925.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值