[缓存加速]eAccelerator与memcached的区别与用途

Centos, Ubuntu, Nginx, MySQL, Redis, Mongodb, Docker, ...
Post Reply
User avatar
IOsetting
论坛管理员
论坛管理员
Posts: 3641
Joined: 2006-10-17 1:48

[缓存加速]eAccelerator与memcached的区别与用途

Post by IOsetting » 2007-11-20 9:15

作者:乔楚

eAccelerator和memcached,是目前较为主流的两个可使用在PHP之中的缓存加速工具.

eAccelerator专门为PHP开发,而memcached不仅仅用在PHP之中,其他所有的语言都可以使用.

 eAccelerator的主要功能:
1. 缓存PHP文件的执行代码:在被缓存的代码再次被调用时,将直接从内存读取,从而在很大程度了PHP运行的速度.
2. 提供了共享内存操作函数:用户可以将自己的常见非资源对像,保存到内存之中,并可以随时读取出来.

 memcached的主要功能:
 提供共享内存操作函数,可以保存和读取数据

 两者的共同点:
 共同点:都提供了共享内存操作函数,可以用来保存和读取自己的数据

 两者的区别:
 eAccelerator作为PHP的扩展库存在,那么仅在PHP运行时,可以操作和读写共享内存,一般情况,只能由操作共享内存的程序自己调用.
    同时,eAccelerator可以缓存PHP程序的执行代码,提升程序的调入和执行速度.
 memcached主要作为一个共享内存服务器,其PHP扩展库仅仅作为PHP到memcached的连接库存在,类似MySQL扩展库.因而,memcached可以完全脱离PHP,其共享的数据,可以被不同的程序调用.

 根据两者的不同,我们将他们使用在真真需要的地方:
 eAccelerator主要用于单机PHP提速,缓存中间数据.对于实时性高,但数据操作量小的情况下,非常实用.
 memcached用于分布式或者集群系统,多台服务器可以共享数据.对于实时性高,同时数据操作量大的情况下,非常实用.

Post Reply