php模块memcache和memcached区别分析

转载  更新时间:2011年06月14日 22:19:20   作者:   我要评论

谈及php搭配memcached使用,已经是老生常谈的问题。但是有一些细节,不见得人人清楚。比如说php的模块memcache和memcached有什么区别等。下面我就简单介绍一下。
1.目前大多数php环境里使用的都是不带d的memcache版本,这个版本出的比较早,是一个原生版本,完全在php框架内开发的。与之对应的带d的memcached是建立在libmemcached的基础上,所以相对来说,memcached版本的功能更全一些。
memcache:http://cn2.php.net/manual/en/book.memcache.php
memcached:http://cn2.php.net/manual/en/book.memcached.php
2.Memcache是原生实现的,支持OO和非OO两套接口并存。而memcached是使用libmemcached,只支持OO接口。
3.memcached还有个非常称赞的地方,就是flag不是在操作的时候设置了,而是有了一个统一的setOption()。Memcached实现了更多的memcached协议。
4.memcached支持Binary Protocol,而memcache不支持。这意味着memcached会有更高的性能。不过memcached目前还不支持长连接。

下面有一张表,来对比php客户端扩展memcache与memcached
http://code.google.com/p/memcached/wiki/PHPClientComparison

另外一点也是大家比较关心的,就是所使用的算法。大家都知道“一致性hash算法”是当添加或删除存储节点时,对存储在memcached上的数据影响较小的一种算法。那么在php的两个扩展库中,都可以使用该算法,只是设置方法有所不同。
Memcache
修改php.ini添加:
[Memcache]
Memcache.allow_failover = 1
……
……
Memcache.hash_strategy =consistent
Memcache.hash_function =crc32
……
……
或在php中使用ini_set方法:
Ini_set(‘memcache.hash_strategy','standard');
Ini_set(‘memcache.hash_function','crc32');

Memcached
$mem = new memcached();
$mem->setOption(Memcached::OPT_DISTRIBUTION,Memcached::DISTRIBUTION_CONSISTENT);
$mem->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE,true);

相关文章

  • PHP递归调用的小技巧讲解

    PHP递归调用的小技巧讲解

    对于初学PHP语言的朋友来说,可能对PHP递归的用法还是比较陌生。我们今天就来讲一下有关PHP递归调用实现多元数组替换功能
    2013-02-02
  • php google或baidu分页代码

    php google或baidu分页代码

    php实现google与baidu的分页代码,需要的朋友可以参考下。
    2009-11-11
  • 解析dedeCMS验证码的实现代码

    解析dedeCMS验证码的实现代码

    本篇文章是对dedeCMS验证码的实现代码进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php中in_array函数用法探究

    php中in_array函数用法探究

    这篇文章主要介绍了php中in_array函数用法,对in_array函数参数匹配的用法进行了较为深入的探究,有助于较为全面的理解in_array函数的用法,需要的朋友可以参考下
    2014-11-11
  • 浅析PHP编程中10个最常见的错误

    浅析PHP编程中10个最常见的错误

    PHP是个伟大的web开发语言,灵活的语言,但是看到php程序员周而复始的犯的一些错误。我做了下面这个列表,列出了PHP程序员经常犯的10中错误,大多数和安全相关。看看你犯了几种
    2014-08-08
  • PHP实现获取图片颜色值的方法

    PHP实现获取图片颜色值的方法

    这篇文章主要介绍了PHP实现获取图片颜色值的方法,需要的朋友可以参考下
    2014-07-07
  • php实现MySQL数据库备份与还原类实例

    php实现MySQL数据库备份与还原类实例

    这篇文章主要介绍了php实现MySQL数据库备份与还原类,可实现针对MySQL数据库的导入与导出功能,并且包含了针对数据库操作时的加锁与解锁等功能,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • PHP实现视频文件上传完整实例

    PHP实现视频文件上传完整实例

    这篇文章主要介绍了PHP实现视频文件上传的技巧,包含了PHP配置信息的设计及大文件的处理,需要的朋友可以参考下
    2014-08-08
  • php下intval()和(int)转换使用与区别

    php下intval()和(int)转换使用与区别

    想知道使用intval()和(int)转换有什么区别?或者说两者有什么不同,包括功能、定义方面的。或者和使用频率、效率等。
    2008-07-07
  • PHP性能优化大全(php.ini)

    PHP性能优化大全(php.ini)

    这篇文章主要介绍了PHP性能优化大全(php.ini),需要的朋友可以参考下
    2016-05-05

最新评论