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 相关文章推荐
基于mysql的bbs设计(五)
Oct 09 PHP
PHP得到某段时间区间的时间戳 php定时任务
Apr 12 PHP
PHP flush()与ob_flush()的区别详解
Jun 03 PHP
php获取QQ头像并显示的方法
Dec 23 PHP
PHP实现生成唯一会员卡号
Aug 24 PHP
php删除数组中重复元素的方法
Dec 22 PHP
php生成验证码,缩略图及水印图的类分享
Apr 07 PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 PHP
PDO::exec讲解
Jan 28 PHP
PHP模版引擎原理、定义与用法实例
Mar 29 PHP
解决在Laravel 中处理OPTIONS请求的问题
Oct 11 PHP
thinkphp5实现微信扫码支付
Dec 23 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
为IP查询添加GOOGLE地图功能的代码
2010/08/08 PHP
浅谈laravel框架sql中groupBy之后排序的问题
2019/10/17 PHP
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
jquery一般方法介绍 入门参考
2011/06/21 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
Angular实现form自动布局
2016/01/28 Javascript
jQuery.Callbacks()回调函数队列用法详解
2016/06/14 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
vue实现列表的添加点击
2016/12/29 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
JavaScript 数据类型详解
2017/03/13 Javascript
js使用highlight.js高亮你的代码
2017/08/18 Javascript
vue刷新和tab切换实例
2018/02/11 Javascript
axios发送post请求,提交图片类型表单数据方法
2018/03/16 Javascript
JS跨域请求的问题解析
2018/12/03 Javascript
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
python通过微信发送邮件实现电脑关机
2018/06/20 Python
python检测文件夹变化,并拷贝有更新的文件到对应目录的方法
2018/10/17 Python
python实现五子棋小游戏
2020/03/25 Python
python中的列表与元组的使用
2019/08/08 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
解析python实现Lasso回归
2019/09/11 Python
matplotlib实现显示伪彩色图像及色度条
2019/12/07 Python
英国领先的在线高尔夫设备零售商:Golfgeardirect
2020/12/11 全球购物
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
总裁办公室主任职责
2014/01/02 职场文书
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
幼师中班个人总结
2015/02/12 职场文书
政审证明材料
2015/06/19 职场文书