美文网首页
memcache与memcached的区别

memcache与memcached的区别

作者: 白红薯粉 | 来源:发表于2019-02-22 09:38 被阅读0次

    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:http://cn2.php.net/manual/en/book.memcache.php

    memcached:http://cn2.php.net/manual/en/book.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(服务端):

    Unix/Linux:最新版本1.4.5,下载地址:http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz

    Windows:最新版本1.2.1,下载地址:http://www.php100.com/html/download/server/2010/0125/3857.html

    PHP针对Memcache软件的memcache扩展:

    Unix/Linux:最新版本3.0.5beta,下载地址:http://pecl.php.net/package/memcache

    Windows:下载地址:http://www.php100.com/html/download/server/2010/0125/3858.html

    PHP针对Memcache软件的memcached扩展:

    Unix/Linux:最新版本1.0.2,下载地址:http://pecl.php.net/package/memcached

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

    libmemcached官方:http://libmemcached.org/libMemcached.html

    memcached官方:http://www.memcached.org/

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

    本文出自http://blog.csdn.net/lein_wang/article/details/52756859

    相关文章

      网友评论

          本文标题:memcache与memcached的区别

          本文链接:https://www.haomeiwen.com/subject/mcjsyqtx.html