php apc缓存以及与redis的对比
php中文网
发布时间:2016-08-08 09:19:38
|
1576人浏览过
|
来源于php中文网
原创
APC简介APC的全称为Alternative PHP Cache, 是一款开源的php插件,用来对php的代码或者用户数据进行缓存。APC
对php代码的缓存apc可以去掉php动态解析以及编译的时间,php脚本可以执行的更快。下面这张图很好的说明了为什么了apc可以让php脚本运行得更快。
PHP是一个动态脚本语言,所以为了让用户在浏览器中看到页面内容,服务器必须解析php代码从而生成想用的html代码。从上面的图中可以看出,在没有apc的时候,用户对php页面的每一次请求,服务器都需要进行对php进行解析,编译以及执行,但是很多时候,只要php代码没有发生更改,php的执行逻辑就不会改变,也就是说解析以及编译的过程就可以省略,直接执行然后将结果返回即可。这就是apc的工作,apc缓存php的可执行代码,从而去掉了解析以及编译的过程,加快了php脚本的执行速度。APC
对用户数据的缓存以及除了缓存php代码外,apc还可以进行用户数据的缓存,但是由于apc的容量很少,所以缓存的数据最好是那些很长时间都不变的数据,不变的单位应该以天位单位。所以如果数据是变化很频繁的并且数据量也比较大,那么就不要使用apc了,可以使用memcache或者redis。下面是一个apc和redis的对比测试实验,看一下apc和redis的效率对比。function getTimeStamp() {
$timestr = microtime();
$timestrary = explode(' ', $timestr);
$result = intval($timestrary[1])*1000 + intval(floatval($timestrary[0])*1000);
return $result;
}
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$key = 'key';
$value ='value';
$redis->set($key, $value);
apc_store($key, $value, 1);
$begin = getTimeStamp();
for($i = 0 ; $i < 100000 ; $i = $i +1) {
$result = apc_fetch($key);
}
$cost = getTimeStamp() - $begin;
var_dump($cost);
$begin = getTimeStamp();
for($i = 0 ; $i < 100000 ; $i = $i +1) {
$result = $redis->get($key);
}
$cost = getTimeStamp() - $begin;
var_dump($cost);
$redis->close();
都是简单的取数据操作,分别进行10万次,单位是毫秒。最后的运行结果redis10万次读在4-5秒之间,而apc得10万次读只有50毫秒左右。可以看到如果是简单的缓存一些数据,并且这些数据不会变化且命中的话,apc还是能带来一定的效率提升的。安装apc时会有一个apc.php的页面可以通过这个页面查看apc的命中。如下图
APC的配置配置的例子如下:extension= apc.so
apc.enabled=1
apc.shm_segments=1
apc.shm_size=64M ; apc内存的大小,最后的大小需要乘上segments的数量,所以这里一共为apc分配64M
apc.ttl=7200
apc.user_ttl=7200
apc.enable_cli=1 ; 这个如果不开启,则只可以在网页上进行apc操作,不能通过cli进行apc操作
参考http://www.inmotionhosting.com/support/website/what-is/speed-up-php-with-apc http://bbs.phpchina.com/thread-202432-1-1.html
版权声明:本文为博主原创文章,未经博主允许不得转载。
同程联盟景点门票动态程序 beta1.0
经过一段时间的开发,以及内部测试,同程网联盟景区新版程序正式发布推出,感谢广大联盟会员一直以来的支持与关注! 同程网联盟景区新版程序新功能介绍:1.统一的页面风格。页面风格将与随后推出的度假线路、酒店、机票以及融合版联盟程序风格保持一直;2.新增后台管理系统。可更加方便快捷的对网站进行个性化设置;3.动态与伪静态切换。后台操作,简单便捷;4.缓存管理。新增缓存,提高网站访问速度,后台可定期清理;5
下载
以上就介绍了php apc缓存以及与redis的对比,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP速学教程(入门到精通)
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
下载
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
文心一言
文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。
讯飞写作
基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿
即梦AI
一站式AI创作平台,免费AI图片和视频生成。
ChatGPT
最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。