一、说说Memcached优化方案 
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。 
我想说:discuz官方论坛使用的正是Memcached内存优化方案,但是建议个人站长不要跟风,因为它的确不适合我们,Memcached作为高速运行的分布式缓存服务器主要用于分布式缓存,很多站长认为它会优化 PHP,其实不是这样的,所以很多站长使用Memcached优化方案后觉得速度上和没安装Memcached前没什么区别,就是因为这个道理。discuz官方很可能是集群部署方案,采用Memcached接口当然是没有问题的。

二、说说eAccelerator 
eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销大大消除。 它还有对脚本起优化作用,以加快其执行效率。使PHP程序代码执效率能提高1-10倍。 
我想说:这回eAccelerator才是php加速器,而刚才讲到的Memcached是内存优化器,二者本质上是有区分的。 
eAccelerator主要用于单机PHP提速,缓存中间数据.对于实时性高,但数据操作量小的情况下,非常实用. 
memcached用于分布式或者集群系统,多台服务器可以共享数据.对于实时性高,同时数据操作量大的情况下,非常实用. 
所以如果您的站点不是分布式部署可以考虑用eAccelerator加速php。

三、说说Alternative PHP Cache(APC) 通常就用三个大写字母APC表示

简介:Alternative PHP Cache (APC)是一种对PHP有效的开放源高速缓冲储存器工具,他能够缓存Opcode(目标文件)的php中间码。 
我想说:现在用的最多的可能就是APC了,因为它直接集成在php里了,只要在编译时加上参数就可以直接使用,而不用另外去下载插件。当初apc是几个opcode缓存器里最烂的,所以当时成天有人拿出来吐嘈(包括当时国内的phpe), 不过随着apc被php官方采纳,由php 团队维护后,前景开始明朗,而且apc开始拟定进军标准包计划。 
我亲自使用APC的感受是缓存的比较厉害,当时记得修改discuz模板几分钟都不会更新缓存,当然这个也许我是个例,APC还值得推荐使用的。

四、谈谈Xcache 
简介:Xcache 是一个开源的 opcode 缓存器/优化器, 他能够提高服务器上的 PHP 性能,他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高您的页面生成速率 2 到5 倍, 降低服务器负载。 
我想说:XCache作为国人自己开发的东西,做小菜鸟的我也感到骄傲,XCache,APC,eAccelerator这三款都可以称为Opcode Cache,全部都支持opcode cache功能,性能上差距也不大,与memcached不同的是,apc/eac/xcache他们是存在本地内存里的,免去了网络开销,更快。XCache官方更新很快,我还是比较看好XCache的。一会会针对以上加速器做评测,继续往下看。

五、谈谈Redis

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。   Redis 很多情况下都是和memcached做比较,而且很多人认为选Redis可以完全替代memcached,原因是Redis 数据类型更丰富,性能不在memcached之下,redis有的memcached没有,memcached有的redis都有。据我了解新浪旗下的微博等周边产品都靠着Redis 。可见其强大程度,不过个人站长我还是不怎么推荐Redis 和memcached。还是老老实实的用点实在的php加速器就足够了。

总结:之前看到过一篇文章对XCache,APC,eAccelerator这三款加速器进行过测试,文章连接: 
http://blog.163.com/lgh_2002/blog/static/44017526201222213425279/ 
测试得出的数据:

   请求时间(秒)  单次请求时间(毫秒)  最大内存占用(MB)  最小内存占用(MB)
 None  10.41  96.08  24  24
 APC  30.45  32.84  21  21
 eAccelerator  31.26  31.99  23  18
 XCache  30.28  33.02  29  19

PHP加速器比较结果总结

1、通过测试得出eAccelerator在请求时间和内存占用综合方面是最好的。

2、通过测试得出使用加速器比无加速器在请求时间快了3倍左右。

3、通过各个官方观察,XCache是更新最快的,这也说明最有发展的。

php缓存方案的更多相关文章

  1. jQuery数据缓存方案详解:$.data()的使用

    我们经常使用隐藏控件或者是js全局变量来临时存储数据,全局变量容易导致命名污染,隐藏控件导致经常读写dom浪费性能.jQuery提供了自己的数据缓存方案,能够达到和隐藏控件.全局变量相同的效果,但是j ...

  2. nginx视频服务缓存方案设置指导

    本文描述了如何通过设置nginx缓存达到降低服务器后端压力的效果以及结合nginx第三方插件ngx_cache_purge实现nginx缓存后的自动清理功能.具体实施步骤如下所示:第一步:获取清除清除 ...

  3. java web开发缓存方案,ehcache和redis哪个更好

    Ehcache在java项目广泛的使用.它是一个开源的.设计于提高在数据从RDBMS中取出来的高花费.高延迟采取的一种缓存方案.正因为Ehcache具有健壮性(基于java开发).被认证(具有apac ...

  4. 基于微前端qiankun的多页签缓存方案实践

    作者:vivo 互联网前端团队- Tang Xiao 本文梳理了基于阿里开源微前端框架qiankun,实现多页签及子应用缓存的方案,同时还类比了多个不同方案之间的区别及优劣势,为使用微前端进行多页签开 ...

  5. zmNgFrameWork 架构升级ng1.5和md5静态资源缓存方案【angular1.x】

    前言: 在我前面的博客,angular项目总结——angular + browserify + gulp + bower + less 架构分享  把我开发angular的架构进行了分享,并上传到了g ...

  6. 移动应用开发(IOS/android等一下)在一般图像缓存方案评述(附流程图)

    在移动应用开发.我们经常从网络请求到该设备显示遇到的场景图片. 假设多次发动每个请求,废物流.浪费电.: 将图片持久化到磁盘也不失为一种策略:但每次从文件读取图片也存在一定的io开销,就算採用此策略, ...

  7. 秋色园QBlog技术原理解析:性能优化篇:缓存总有失效时,构造持续的缓存方案(十四)

    转载自:http://www.cyqdata.com/qblog/article-detail-38993 文章回顾: 1: 秋色园QBlog技术原理解析:开篇:整体认识(一) --介绍整体文件夹和文 ...

  8. 缓存方案之Redis

    Redis简介   Redis是Remote Dictionary Server(Redis) 的缩写,或许光听名字你就能猜出它大概是做什么的.不错,它是一个由Salvatore Sanfilippo ...

  9. 聊聊在AOP模式下的缓存方案

    面向方法的数据集缓存 使用了autofac做为ioc容器,使用Autofac.Extras.DynamicProxy2作为方法拦截器,缓存面向方法,直接在方法上添加CachingAttribute特性 ...

随机推荐

  1. mysql 的密码重置

    Windows: 1.以系统管理员登陆: 2.停止MySQL服务: 3.进入CMD,进入MySQL的安装目录,假设是D:/MySQL/MySQL Server 5.0/: 4.跳过权限检查启动MySQ ...

  2. Redis配置不当可导致服务器被控制,已有多个网站受到影响 #通用程序安全预警#

    文章出自:http://news.wooyun.org/6e6c384f2f613661377257644b346c6f75446f4c77413d3d 符合预警中“Redis服务配置不当”条件的服务 ...

  3. 学习Android NestedScroll

    NestedScrollingChildHelper 这是一个用于实现子视图嵌套滚动的辅助类,并提供对Android 5.0之前版本的前兼容. View要作为嵌套滚动中的Child,要在构造方法中实例 ...

  4. Jenkins学习之——(2)插件的安装

    本章节将讲解如何安装jenkins的插件. 其实jenkins本身不具有任何集成的功能,而是依靠众多的插件实现功能.就像eclipse一样,期本身只是一个编辑器,而当你安装了其他的第三方插件后,就能实 ...

  5. avalon

    http://avalonjs.coding.me/ 有时间详细写

  6. C# 前台线程与后台线程区别

    using System; using System.Drawing; using System.Windows.Forms; using System.Threading; namespace Wi ...

  7. 概率dp小结

    好久之前学过,记得是一次亚洲区的前几天看了看概率dp,然后亚洲区就出了一道概率dp,当时虽然做上了,但是感觉有很多地方没懂,今天起早温习了一下,觉得很多地方茅塞顿开,果然学习的话早上效果最好了. 首先 ...

  8. 转载:mysql-Auto_increment值修改

    转载网址:http://libo93122.blog.163.com/blog/static/1221893820125282158745/ | 2012-03-13 11:19:10 | 2012- ...

  9. Ping命令详解

    引言:我们每天都在使用Ping命令,但是我们可能不太清楚Ping的工作原理,对运行结果中的很多细节也不是很清楚.查找了一下资料,现在和大家分享一下Ping的运行原理和相关细节. A.Ping命令的工作 ...

  10. 兼容IE的渐变

    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=, startColorstr=#1471da, endColorstr ...