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 相关文章推荐
PHP的单引号和双引号 字符串效率
May 27 PHP
Search File Contents PHP 搜索目录文本内容的代码
Feb 21 PHP
php学习之function的用法
Jul 14 PHP
用PHP编写和读取XML的几种方式
Jan 12 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 PHP
解析数组非数字键名引号的必要性
Aug 09 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
Oct 13 PHP
利用php_imagick实现复古效果的方法
Oct 18 PHP
PHP中in_array的隐式转换的解决方法
Mar 06 PHP
Yii2框架数据验证操作实例详解
May 02 PHP
PHP预定义超全局数组变量小结
Aug 20 PHP
PHP rmdir()函数的用法总结
Jul 02 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
蝙蝠侠:侠影之谜
2020/03/04 欧美动漫
如何冲泡挂耳包咖啡?技巧是什么
2021/03/04 冲泡冲煮
浅谈php和js中json的编码和解码
2016/10/24 PHP
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
JavaScript中string对象
2015/06/12 Javascript
js实现字符串和数组之间相互转换操作
2016/01/12 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
canvas实现流星雨的背景效果
2017/01/13 Javascript
js实现炫酷的左右轮播图
2017/01/18 Javascript
Angular(5.2->6.1)升级小结
2018/12/27 Javascript
如何修改Vue打包后文件的接口地址配置的方法
2020/04/22 Javascript
vue3.0生命周期的示例代码
2020/09/24 Javascript
[29:16]完美世界DOTA2联赛决赛日 Inki vs LBZS 第三场 11.08
2020/11/10 DOTA
[01:07:34]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第二场 1月9日
2021/03/11 DOTA
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
python2 与 python3 实现共存的方法
2018/07/12 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
REISS英国官网:伦敦High Street最受欢迎品牌
2016/12/21 全球购物
加拿大时尚床上用品零售商:QE Home | Quilts Etc
2018/01/22 全球购物
经济实惠的名牌太阳镜和眼镜:Privé Revaux
2021/02/07 全球购物
高中毕业生生活的自我评价
2013/12/08 职场文书
四年大学生活的个人自我评价
2013/12/11 职场文书
工程造价专业大学生职业规划范文
2014/03/09 职场文书
人民教师求职自荐信
2014/03/12 职场文书
我有一个梦想演讲稿
2014/05/05 职场文书
2014年毕业演讲稿范文
2014/05/13 职场文书
模具专业自荐信
2014/05/29 职场文书
HR求职自荐信范文
2014/06/21 职场文书
经济类毕业生求职信
2014/06/26 职场文书
物业公司管理制度
2015/08/05 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript
mysql中关键词exists的用法实例详解
2022/06/10 MySQL