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+MySQL5.0中文乱码解决方法
Nov 20 PHP
php magic_quotes_gpc的一点认识与分析
Aug 18 PHP
深入apache host的配置详解
Jun 09 PHP
PHP导航下拉菜单的实现如此简单
Sep 22 PHP
PHP限制页面只能在微信自带浏览器访问的代码
Jan 15 PHP
php数组合并的二种方法
Mar 21 PHP
PHP对象实例化单例方法
Jan 19 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
May 15 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
如何修改yii2.0自带的user表为其它的表
Aug 01 PHP
关于php支持的协议与封装协议总结(推荐)
Nov 17 PHP
laradock环境docker-compose操作详解
Jul 29 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/31 PHP
PHP不用递归遍历目录下所有文件的代码
2014/07/04 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
JavaScript基本对象
2007/01/11 Javascript
JavaScript写的一个DIV 弹出网页对话框
2009/08/14 Javascript
javascript 简练的几个函数
2009/08/29 Javascript
网页上的Javascript编辑器和代码格式化
2010/04/25 Javascript
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
2011/10/30 Javascript
JS获取select-option-text_value的方法
2013/12/26 Javascript
Jquery中扩展方法extend使用技巧
2014/08/24 Javascript
ECMAScript6块级作用域及新变量声明(let)
2015/06/12 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
2017/09/19 Javascript
Angular弹出模态框的两种方式
2017/10/19 Javascript
vuex与组件联合使用的方法
2018/05/10 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
python3批量删除豆瓣分组下的好友的实现代码
2016/06/07 Python
python利用Guetzli批量压缩图片
2017/03/23 Python
django1.11.1 models 数据库同步方法
2018/05/30 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
python视频按帧截取图片工具
2019/07/23 Python
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
HTML5 input元素类型:email及url介绍
2013/08/13 HTML / CSS
微信小程序之html5 canvas绘图并保存到系统相册
2019/06/20 HTML / CSS
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
物流专业大学的自我评价
2014/01/11 职场文书
水电工岗位职责
2014/02/12 职场文书
《秋游》教学反思
2014/04/24 职场文书
新党章的学习心得体会
2014/11/07 职场文书
大学毕业生个人总结
2015/02/28 职场文书
装修安全责任协议书
2016/03/22 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
2022/04/11 Vue.js
Go web入门Go pongo2模板引擎
2022/05/20 Golang