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 相关文章推荐
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
Jan 29 PHP
php5编程中的异常处理详细方法介绍
Jul 29 PHP
那些年一起学习的PHP(一)
Mar 21 PHP
解析thinkphp中的导入文件标签
Jun 20 PHP
php对图像的各种处理函数代码小结
Jul 08 PHP
php根据分类合并数组的方法实例详解
Nov 06 PHP
yii中widget的用法
Dec 03 PHP
typecho插件编写教程(一):Hello World
May 28 PHP
php简单统计字符串单词数量的方法
Jun 19 PHP
Zend Framework开发入门经典教程
Mar 23 PHP
Yii框架实现的验证码、登录及退出功能示例
May 20 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 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对gzip文件或者字符串解压实例参考
2008/07/25 PHP
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
2011/08/02 PHP
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
如何在PHP中生成随机数
2020/06/04 PHP
html中的input标签的checked属性jquery判断代码
2012/09/19 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
2013/05/07 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
2014/05/27 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
Jquery easyui 实现动态树
2015/11/17 Javascript
js实现四舍五入完全保留两位小数的方法
2016/08/02 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
Angular4实现图片上传预览路径不安全的问题解决
2017/12/25 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
教你用Type Hint提高Python程序开发效率
2016/08/08 Python
教你用Python写安卓游戏外挂
2018/01/11 Python
Python实现多条件筛选目标数据功能【测试可用】
2018/06/13 Python
Python利用字典破解WIFI密码的方法
2019/02/27 Python
Python进程间通信Queue消息队列用法分析
2019/05/22 Python
python中删除某个元素的方法解析
2019/11/05 Python
Python如何在DataFrame增加数值
2020/02/14 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
Internet主要有哪些网络群组成
2015/12/24 面试题
学院领导推荐信
2013/10/30 职场文书
小学语文课后反思精选
2014/04/25 职场文书
环卫个人总结
2015/03/03 职场文书
写作指导:怎么书写竞聘演讲稿?
2019/07/04 职场文书
最新农村养殖致富:资金投入较低的创业项目有哪些?
2019/09/26 职场文书
SQL Server基本使用和简单的CRUD操作
2021/04/05 SQL Server
SQL Server2019数据库备份与还原脚本,数据库可批量备份
2021/11/20 SQL Server