php模块memcache和memcached区别分析
来源:互联网 发布:主播用的直播软件 编辑:程序博客网 时间:2024/05/16 16:06
谈及php搭配memcached使用,已经是老生常谈的问题。但是有一些细节,不见得人人清楚。比如说php的模块memcache和memcached有什么区别等。下面我就简单介绍一下。
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模块memcache和memcached区别分析
- php模块memcache和memcached区别分析
- php模块memcache和memcached区别分析
- php模块memcache和memcached区别分析
- php模块memcache和memcached区别分析
- php模块memcache和memcached区别分析
- php模块memcache和memcached区别分析
- php模块memcache和memcached区别分析
- php模块memcache和memcached区别
- php模块memcache和memcached区别
- php模块memcache和memcached区别
- PHP模块:Memcached > Memcache
- PHP扩展memcache和memcached的区别
- php的memcache和memcached扩展区别
- php扩展Memcache和Memcached的区别
- php的memcache和memcached扩展区别
- php的memcache和memcached扩展区别
- php的memcache和memcached扩展区别
- 华为OJ——参数解析
- 华为OJ——公共字串计算
- ZooKeeper的名字空间节点(有关znode的一切)
- Mybatis深入了解(六)----关联查询(高级映射)
- 华为OJ——尼科彻斯定理
- php模块memcache和memcached区别分析
- 基于支付系统真实业务场景的分布式事务解决方案
- 给定一个整数sum,从有N个无序元素的数组中寻找元素a、b、c、d,使得 a+b+c+d =sum,最快的平均时间复杂度是____。
- 九度OJ 1051 数字阶梯求和
- 华为OJ——超长正整数相加
- Eclipse配置
- JavaWeb工程中web.xml基本配置
- 设二叉树结点的先根序列、中根序列和后根序列中,所有叶子结点的先后顺序____。
- swift-闭包产生的循环引用以及解决办法