其实到底说成什么无所谓,只要你真正理解和知道使用就可以了!但是介于有和我一样学习时遇到的这个疑惑,在此分享下其中的缘由:

Memcache是一个软件

Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。

它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcache这个软件项目一般叫Memcache,但项目的主程序文件叫memcached.exe,是靠服务端的这个守护进程管理这些HashTable。由于这个命名问题,所以很多人把这个软件系统叫memcache,想叫成memcached也没什么问题!

PHP有两个针对上述软件的PECL扩展:一个叫memcache,一个叫memcached

memcache扩展是完全在PHP框架内开发的,memecached扩展是使用libmemcached的。从手册上看,memcached 会比 memcache 多几个方法,使用方式上都差不多,具体区别稍后再谈!

这样大家应该明白了吧,下面画了一个图帮助理解:

可知,不同语言都有自己针对Memcache的扩展!

PHP中memcache扩展和memcached扩展的区别

对于这个内存缓存系统,PHP有两个扩展,分别是memcache和memcached扩展。而memcached和memcache的守护进程 memcached 同名,比较容易引起混淆,甚至提到memcached,有些人第一想到的是后台的守护进程,这里还是有必要分析一下两者之间的区别,以下观点仅是个人观点,希望朋友进行补充和更正。

首先我们可以从php官方手册上可以清晰的看到两者的区别:

memcache是完全在PHP框架内开发的,memecached是使用libmemcached的。从手册上看,memcached 会比 memcache 多几个方法,使用方式上都差不多。

memcache是原生实现的,但是使用libmemcached的memached只支持OO接口,而 memcache则是OO和非OO两套接口并存,以后随着memcached服务器端的改进,这个lib也必定会马上跟进的。而memcache却不一定能做到按时跟进。

memcached,还有个非常称赞的地方,就是flag不是在操作的时候设置了。而是有一个统一的setOption()。memcached 实现了更多的 memcached 协议(毕竟是基于 libmemcached 库的)。

这里有另外一个对比表,很明显,用 memcached 会让人放心很多:http://code.google.com/p/memcached/wiki/PHPClientComparison

差别比较大的一点是,memcached 支持 Binary Protocol,而 memcache 不支持,意味着 memcached 会有更高的性能。不过,还需要注意的是,memcached 目前还不支持长连接。

上述软件的最新版本和下载地址

Memcache(服务端):

PHP针对Memcache软件的memcache扩展:

PHP针对Memcache软件的memcached扩展:

(注意:在Unix/Linux下安装需要先安装libevent,详细安装个系统稍有差异,安装PHP的memcached扩展需要先安装libmemcached,具体各种软件的安装方法在此不详述,大家自己google一下即可)

PHP的memcached客户端memcahce与memcached比较:http://code.google.com/p/memcached/wiki/PHPClientComparison

延伸阅读:

Windows下memcached.exe的安装与配置

Installing Memcached for PHP 5.3 on Windows 7

memcache与memcached的区别的更多相关文章

  1. 谈memcache和memcached的区别

    用了段时间的memcache和memcached总结下认识,看很多人在用cache的时候,刚刚都没有搞清楚memcache 和 memcached的区别,还有就是使用的时候基本都是 get/set   ...

  2. memcache和memcached的区别

    用了段时间的memcache和memcached总结下认识,看很多人在用cache的时候,刚刚都没有搞清楚memcache和 memcached的区别,还有就是使用的时候基本都是 get/set  用 ...

  3. php的memcache和memcached扩展区别

    老生长谈的问题了.我这里就整理一下. memcache的文档在:http://pecl.php.net/package/memcache memcached的文档在:http://pecl.php.n ...

  4. 转:php的memcache和memcached扩展区别

    原文来自于:http://www.cnblogs.com/yjf512/p/3778287.html 作者:叶剑峰 老生长谈的问题了.我这里就整理一下. memcache的文档在:http://pec ...

  5. php的memcache和memcached扩展区别【转载】

    老生长谈的问题了.我这里就整理一下. memcache的文档在:http://pecl.php.net/package/memcache memcached的文档在:http://pecl.php.n ...

  6. php中memcache与memcached的区别 【收藏】

    说法一:    两个不同版本的php的memcached的客户端 new memcache是pecl扩展库版本new memcached是libmemcached版本功能差不多 说法二:    Mem ...

  7. memcache 键名的命名规则以及和memcached的区别

    2014年3月27日 07:47:46 Keys---- Data stored by memcached is identified with the help of a key. A keyis ...

  8. PHP 7 安装 Memcache 和 Memcached 总结

    Memcache 与 Memcached 的区别 Memcached 是 Memcache 的升级版,优化了 Memcache,并增加了一些操作方法.所以现在基本都是用最近版本的. PHP 7 下安装 ...

  9. 安装php扩展模块参数memcache和memcached在php中的应用

    一, memcache和memcached的区别与关系统php要想去访问memcached就得需要memcache扩展,这个道理和php连接mysql一样. 你不安装memcache扩展就没法识别me ...

随机推荐

  1. java 移位运算符

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

  2. return和finally的执行和联系

    1.try{}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 也许你的答案是在return之前,但往更细地说, ...

  3. pycharm的使用破解和Anaconda的使用

    1.pycharm的破解: 版本: pycharm 2016.2.3 链接: 下载专业版本   下面是这个版本的注册码: 43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTcz ...

  4. jQuery中的width() innerWidth() outerWidth() outerWidth(true)的区别

    width()仅仅包括content(内容) innerWidth()包括content(内容)和padding(补白) outerWidth()包括content(内容),padding(补白)和b ...

  5. ajax获取数据的形象比喻,助于理解记忆

    过程 创建对象(打开浏览器) 连接服务器(输入网址) 发送请求(按下回车) 服务器接收并返回数据(显示对应的网址网站内容) 原理

  6. 在IIS中实现JSP

    在IIS中实现JSP    IIS本身是不可以支持JSP页面的,但是随着JAVA技术的广泛应用,越来越多的网站采用JAVA技术编写程序,我们根据一些资料和自己的实践经验总结了以下两种JAVA应用服务器 ...

  7. Jquery DIV滚动至浏览器顶部位置固定

    获取元素(这里定位元素A)距离顶部的高度,接着设定scroll滚动的事件,比如超过那个高度,把A的位置设定为fixed,小于该高度,修改回relative. 方法一: $(function() { v ...

  8. 显式意图启动一个Activity

    显式意图主要是通过指定包名和类名开启一个组件,主要用于安全性要求高的,且不想被其他应用开启,可以不配置应用过滤器. 1.创建意图对象 Intent intent = new Intent(); 2.指 ...

  9. java 8

    java 8 发布已经有一段时间了,然而很多新特性被拒之门外,让人敬而生畏,但是,时代在进步,技术在发展,要追随时代的脚步就要跟随新的潮流.总结下java 8 中常用的小功能点,学如逆水行舟,不进则退 ...

  10. JQurey

    jQuery 是一个 JavaScript 库.极大地简化了 JavaScript 编程,很容易学习. jQuery 是一个 JavaScript 函数库. jQuery 库包含以下特性: HTML ...