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 25 PHP
谈谈PHP的输入输出流
Feb 14 PHP
PHP5与MySQL数据库操作常用代码 收集
Mar 21 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
Aug 21 PHP
PHP跳转页面的几种实现方法详解
Jun 08 PHP
PHP实现HTML生成PDF文件的方法
Nov 07 PHP
浅析php单例模式
Nov 25 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
Dec 22 PHP
3种方法轻松处理php开发中emoji表情的问题
Jul 18 PHP
PHP基于GD2函数库实现验证码功能示例
Jan 27 PHP
laravel实现查询最后执行的一条sql语句的方法
Oct 09 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 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
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
基于javascript实现仿百度输入框自动匹配功能
2016/01/03 Javascript
浅谈js中调用函数时加不加括号的问题
2016/07/28 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
React-router中结合webpack实现按需加载实例
2017/05/25 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
python获取本机外网ip的方法
2015/04/15 Python
Python把csv数据写入list和字典类型的变量脚本方法
2018/06/15 Python
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
python读取目录下最新的文件夹方法
2018/12/24 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
Python中判断子串存在的性能比较及分析总结
2019/06/23 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
Belstaff英国官方在线商店:Belstaff.co.uk
2021/02/09 全球购物
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
说出数据连接池的工作机制是什么?
2013/04/19 面试题
机电专业毕业生推荐信
2013/11/10 职场文书
专科文秘应届生求职信
2013/11/18 职场文书
毕业证丢失证明
2014/01/15 职场文书
《石榴》教学反思
2014/03/02 职场文书
财务管理专业求职信
2014/06/11 职场文书
工作证明范本(2篇)
2014/09/14 职场文书
2014年后勤工作总结
2014/11/18 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书