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 编程请选择正确的文本编辑软件
Dec 21 PHP
php在字符串中查找另一个字符串
Nov 19 PHP
php生成excel列序号代码实例
Dec 24 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 PHP
php中filter_input函数用法分析
Nov 15 PHP
thinkphp模板的包含与渲染实例分析
Nov 26 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
Dec 16 PHP
PHP输出两个数字中间有多少个回文数的方法
Mar 23 PHP
PHP中Http协议post请求参数
Nov 02 PHP
PHP查看SSL证书信息的方法
Sep 22 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
Oct 21 PHP
laravel 解决强制跳转 https的问题
Oct 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 获得汉字拼音首字母的函数
2009/08/01 PHP
php去掉字符串的最后一个字符附substr()的用法
2011/03/23 PHP
Codeigniter的一些优秀特性总结
2015/01/21 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
JavaScript中实现PHP的打乱数组函数shuffle实例
2014/10/11 Javascript
EasyUI实现二级页面的内容勾选的方法
2015/03/01 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
javascript每日必学之封装
2016/02/23 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
微信小程序 开发工具快捷键整理
2016/10/31 Javascript
JavaScript事件用法浅析
2016/10/31 Javascript
js 调用百度分享功能
2017/02/27 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
jquery无缝图片轮播组件封装
2020/11/25 jQuery
浅谈Vue的响应式原理
2019/05/30 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
python基础教程项目五之虚拟茶话会
2018/04/02 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
浅谈PySpark SQL 相关知识介绍
2019/06/14 Python
自定义django admin model表单提交的例子
2019/08/23 Python
详解python播放音频的三种方法
2019/09/23 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
Python OrderedDict字典排序方法详解
2020/05/21 Python
html5与css3小应用
2013/04/03 HTML / CSS
现场活动策划方案
2014/08/22 职场文书
授权收款委托书
2014/09/23 职场文书
财政局个人年终总结
2015/03/03 职场文书
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
2021/04/01 PHP
源码解读Spring-Integration执行过程
2021/06/11 Java/Android
MySQL索引是啥?不懂就问
2021/07/21 MySQL