PHP中memcache与memcached对比
作者:bea
什么是Memcache
Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,纲前齐世界不少己使用这个缓存项目来构修本人大负载的网站,来分担数据库的压力。
它能够当对于恣意少个衔接,使用非梗阻的网络IO。因为它的农做机造是正在内存中开拓一块空间,然后树立一个HashTable,Memcached自治理那些HashTable。
Memcache官方网站:http://www.danga.com/memcached,更少具体的疑作可以来这里了解
什么是Memcached
Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。
Memcached由Danga Interactive开发,用于提升LiveJournal.com访问速度的。LJ每秒动态页面访问量几千次,用户700万。Memcached将数据库负载大幅度降低,更好的分配资源,更快速访问。
为什么会有Memcache和memcached两类称号
实在Memcache是这个项目标称号,而memcached是它服务器真个主程序白件实,晓得我的意义了把~~~~。一个是项纲称号,一个是主程序白件实,在网上望到了良多己没有清楚,于是混用了。
从手册上明显可以看到这两个扩展:
http://php.net/manual/en/book.memcache.php
http://php.net/manual/en/book.memcached.php
在QQ群里问了下,没有人能分辨出它们的差别,甚至有人怀疑我说的 Memcached 是 Memcached 服务器(守护进程)。
从手册上看,memcached 会比 memcache 多几个方法,使用方式上都差不多。
看看严谨的老外们怎么说的:
http://stackoverflow.com/questions/1442411/using-memcache-vs-memcached-with-php
Memcached client library was just recently released as stable. It is being used by digg ( was developed for digg by Andrei Zmievski, now no longer with digg) and implements much more of the memcached protocol than the older memcache client.
memcached 实现了更多的 memcached 协议(毕竟是基于 libmemcached 库的)。
http://serverfault.com/questions/63383/memcache-vs-memcached
As Nate's link suggests, both work perfectly well for simple usage. However, memcached supports more features that allow you to get the most performance out of memcached. The binary protocol reduces the amount of data required to be sent between client and server. Multigets and multisets allow you to get/set multiple items at the same time. If you're finding you need more oomph out of memcache, memcached is the better module. The use of libmemcached suggests that the library itself is possibly more optimised than the PHP only version.
Memcached is a more recent module compared to memcache, having only been released 8 months ago. If you need to target an older version of PHP, then you can only really use memcache.
memcached 的版本比较新,而且使用的是 libmemcached 库。libmemcached 被认为做过更好的优化,应该比 php only 版本的 memcache 有着更高的性能。
这里有另外一个对比表,很明显,用 memcached 会让人放心很多:
http://code.google.com/p/memcached/wiki/PHPClientComparison
差别比较大的一点是,memcached 支持 Binary Protocol,而 memcache 不支持,意味着 memcached 会有更高的性能。不过,还需要注意的是,memcached 目前还不支持长连接:
pecl/memcached does not support failover or persistent connections. This is quite annoying, since I'm sure the underlying libmemcached C library supports both.
pecl/memcache does not have the very handy getServerByKey() method, which is immensely useful when debugging.
在这里,推荐大家使用 memcached。
有用 | 无用猜你喜欢
您可能感兴趣的文章:
- PHP类使用php生成图片缩略图类
- 防SQL注入PHP过滤html字符串详解
- PHP实例实现剩余时间倒计时显示
- 改善PHP开发方式提高PHP开发效率
- 迅雷快车下载链接PHP代码
- php写的支持无限分类的代码
- 再次推荐一个PHP分页类代码
- global PHP的全局变量使用代码
- PHP操作mysql数据库常用函数分析
- PHP cookie实现访客访问次数的统计
- PHP图像各种处理代码图像处理类
- 正则表达式匹配字符串中图片
- php代码获得电脑上网网卡MAC地址
- PHP实例以sql文件导入导出mysql数据库
- 分享一个PHP写的计算页面执行时间类
- 使用PHP计算出页面的执行时间
- PHP cookie实例制作一个购物车
- PHP学习之cookie使用详情
- 详解PHP预定义超全局数组变量$_SERVER