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 相关文章推荐
5.PHP的其他功能
Oct 09 PHP
用函数读出数据表内容放入二维数组
Oct 09 PHP
php array_merge下进行数组合并的代码
Jul 22 PHP
php格式化电话号码的方法
Apr 24 PHP
php中PDO方式实现数据库的增删改查
May 17 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
Jan 05 PHP
使用Composer安装Yii框架的方法
Mar 15 PHP
微信自定义分享php代码分析
Nov 24 PHP
PHP截取发动短信内容的方法
Jul 04 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
PHP如何搭建百度Ueditor富文本编辑器
Sep 21 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 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
给初学者的30条PHP最佳实践(荒野无灯)
2011/08/02 PHP
thinkphp如何获取客户端IP
2015/11/03 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
Laravel框架实现的rbac权限管理操作示例
2019/01/16 PHP
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
JavaScript数组和循环详解
2015/04/27 Javascript
jQuery实现html表格动态添加新行的方法
2015/05/28 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
JS实现HTML表格排序功能
2016/08/05 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
使用cropper.js裁剪头像的实例代码
2017/09/29 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
[01:47]2018年度DOTA2最具人气解说-完美盛典
2018/12/16 DOTA
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
最大K个数问题的Python版解法总结
2016/06/16 Python
Python实现动态加载模块、类、函数的方法分析
2017/07/18 Python
python3操作微信itchat实现发送图片
2018/02/24 Python
Python实现处理逆波兰表达式示例
2018/07/30 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
Python中的类与类型示例详解
2019/07/10 Python
Python selenium的基本使用方法分析
2019/12/21 Python
简单了解python列表和元组的区别
2020/05/14 Python
超市营业员求职简历的自我评价
2013/10/17 职场文书
军训生自我鉴定范文
2013/12/27 职场文书
远程研修随笔感言
2014/02/10 职场文书
经典而简洁的婚礼主持词
2014/03/13 职场文书
入职担保书范文
2014/05/21 职场文书
理财学专业自荐书
2014/06/28 职场文书
2014年服装销售工作总结
2014/11/27 职场文书
捐资助学感谢信
2015/01/21 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
Python趣味挑战之实现简易版音乐播放器
2021/05/28 Python