php模块memcache和memcached区别分析


Posted in PHP onJune 14, 2011

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 相关文章推荐
在PHP3中实现SESSION的功能(一)
Oct 09 PHP
PHPwind整合最土系统用户同步登录实现方法
Dec 08 PHP
CURL的学习和应用(附多线程实现)
Jun 03 PHP
php的hash算法介绍
Feb 13 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
Apr 01 PHP
thinkphp四种url访问方式详解
Nov 28 PHP
如何写php守护进程(Daemon)
Dec 30 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
Feb 14 PHP
PHP使用Mysqli类库实现完美分页效果的方法
Apr 07 PHP
php rsa 加密,解密,签名,验签详解
Dec 06 PHP
使用php实现网站验证码功能【推荐】
Feb 09 PHP
php微信开发之图片回复功能
Jun 14 PHP
sphinx增量索引的一个问题
Jun 14 #PHP
批量获取memcache值并按key的顺序返回的实现代码
Jun 14 #PHP
提高define性能的php扩展hidef的安装和使用
Jun 14 #PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
Jun 13 #PHP
php学习笔记 面向对象的构造与析构方法
Jun 13 #PHP
php学习笔记 类的声明与对象实例化
Jun 13 #PHP
php学习笔记 PHP面向对象的程序设计
Jun 13 #PHP
You might like
PHP脚本的10个技巧(2)
2006/10/09 PHP
PHP源码之 ext/mysql扩展部分
2009/07/17 PHP
PHP生成各种常见验证码和Ajax验证过程
2016/01/10 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
学习ExtJS Panel常用方法
2009/10/07 Javascript
javascript中注册和移除事件的4种方式
2013/03/20 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
Bootstrap框架实现广告轮播效果
2016/11/28 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
支持移动端原生js轮播图
2017/02/16 Javascript
Node.js 回调函数实例详解
2017/07/06 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
node文字生成图片的示例代码
2017/10/26 Javascript
vue-cli与webpack处理静态资源的方法及webpack打包的坑
2018/05/15 Javascript
JavaScript中的 new 命令
2019/05/22 Javascript
解决layer弹出层msg的文字不显示的问题
2019/09/11 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
2019/09/26 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
[03:27]《辉夜杯》线下训练营 导师CU和海涛指点迷津
2015/10/23 DOTA
python 装饰器功能以及函数参数使用介绍
2012/01/27 Python
django数据库migrate失败的解决方法解析
2018/02/08 Python
python实现微信自动回复功能
2018/04/11 Python
Python同步遍历多个列表的示例
2019/02/19 Python
python打开windows应用程序的实例
2019/06/28 Python
django 邮件发送模块smtp使用详解
2019/07/22 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
sklearn中的交叉验证的实现(Cross-Validation)
2021/02/22 Python
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
2017/10/16 HTML / CSS
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
美术兴趣小组活动总结
2014/07/07 职场文书
贷款承诺书
2015/01/20 职场文书
公积金贷款承诺书
2015/04/30 职场文书
网络新闻该怎么写?这些写作技巧你都知道吗?
2019/08/26 职场文书
用python画城市轮播地图
2021/05/28 Python
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL