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应用程序来获取Web服务器的状态信息
Oct 09 PHP
PHP写MySQL数据 实现代码
Jun 15 PHP
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
May 16 PHP
PHP高级编程实例:编写守护进程
Sep 02 PHP
php生成随机数的三种方法
Sep 10 PHP
php采用curl实现伪造IP来源的方法
Nov 21 PHP
php自定义类fsocket模拟post或get请求的方法
Jul 31 PHP
php实现概率性随机抽奖代码
Jan 02 PHP
zend framework中使用memcache的方法
Mar 04 PHP
php分页查询mysql结果的base64处理方法示例
May 18 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
Jun 04 PHP
thinkphp框架使用JWTtoken的方法详解
Oct 10 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
一个目录遍历函数
2006/10/09 PHP
一个刚完成的layout(拖动流畅,不受iframe影响)
2007/08/17 Javascript
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
2015/02/03 Javascript
js实现的奥运倒计时时钟效果代码
2015/12/09 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
2017/12/23 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
2018/09/28 Javascript
通过npm或yarn自动生成vue组件的方法示例
2019/02/12 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
Python生成随机数的方法
2014/01/14 Python
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
python实现向微信用户发送每日一句 python实现微信聊天机器人
2019/03/27 Python
Python使用sax模块解析XML文件示例
2019/04/04 Python
Python实现数值积分方式
2019/11/20 Python
Python运行提示缺少模块问题解决方案
2020/04/02 Python
python简单利用字典破解zip文件口令
2020/09/07 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
Python实现自动整理文件的脚本
2020/12/17 Python
django中ImageField的使用详解
2020/12/21 Python
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
Joseph官网:英国小众奢侈品牌
2019/05/17 全球购物
读书月活动方案
2014/05/22 职场文书
村级个人对照检查材料
2014/08/22 职场文书
水利专业大学生职业生涯规划书范文
2014/09/17 职场文书
党的群众路线教育实践活动对照检查材料范文
2014/09/24 职场文书
2014年体育部工作总结
2014/11/13 职场文书
政协委员个人总结
2015/03/03 职场文书
2015年暑假工作总结
2015/07/13 职场文书
军训决心书范文
2015/09/22 职场文书
Redis Stream类型的使用详解
2021/11/11 Redis
JS前端可视化canvas动画原理及其推导实现
2022/08/05 Javascript