0°

Memcache 和 Memcached 有什么区别

Memcached 扩展(PHP Memcache 和 PHP memcached 两者选择一个),但是没有安装 Memcached 服务端,那么这个就无法使用。 只有同时安装了 Memcached 服务端和 PHP 客户端扩展才可以提高动态网站性能。

Memcache 和 Memcached 有什么区别

Memcache 和 Memcached 看起来只是相差一个字母,平时老是搞混,今天整理下两者之间的区别。Memcached 是有服务端和客户端的,对于 PHP 来说,客户端就是 PHP 扩展。

Memcached 服务端

Memcached,简单来说就是一个免费开源并且高性能的分布式内存对象缓存系统,主要用于加速动态 Web 程序,减轻数据库负载。

Memcached 可以存储来自调用数据库和 API,或者页面渲染生成的任意类型的数据(字符串,对象)到内存中,也可以直接中内存中去读取。它的 API 支持目前大部分流行的编程语言,Memcached 的官方网站:http://memcached.org/

启动 Memcached 服务端是通过启动一个 memcached 的程序来实现的,这里的 d 的英文是 daemon,意思就是常驻进程的意思。所以

Memcache 是对这个内存缓存的一个常用称呼,而

Memcached 是这个缓存数据库的实际运行程序。

PHP 的 Memcached 客户端

PHP 有两个 Memcached 客户端:“PHP Memcache 扩展” 和 “PHP Memcached 扩展”,这就是是我们搞混的地方。

PHP Memcache 扩展用 PHP 实现的,支持面向对象和面向过程两种接口,2004年就实现了,是老客户端,而且功能少,属性也可设置的少。

函数列表:http://php.net/manual/zh/book.memcache.php

PHP Memcached 扩展基于 libmemcached 开发的,使用 libmemcached 库提供的 API 与 Memcached 服务进行交互,只支持面向对象的接口,2009年才实现,Memcached 扩展功能更加完善,支持的函数更多,比如支持批量操作,现在一般建议使用 Memcached 扩展

函数列表:http://php.net/manual/zh/book.memcached.php

下面是一个支持功能对照列表:

对比MemcacheMemcached发布日期2004-06-082009-01-29 (beta)仍在维护?YesYes第三方依赖NonelibmemcachedKey自动修复YesNoAppend/PrependNoYes自动序列化YesYes二进制协议NoOptionalCASNoYes压缩YesYes超时设置Connect OnlyVarious Options一致性哈希YesYes延迟GetNoYesMulti-GetYesYesSession支持YesYes指定Server get/setNoYes数字存储Converted to StringsYes支持长连接?YesYes

必须同时安装服务端和客户端

如果安装了 Memcached 服务端不安装扩展,那么 PHP 无法操控 Memcached。

同样如果安装了 PHP

Memcached 扩展(PHP Memcache 和 PHP memcached 两者选择一个),但是没有安装 Memcached 服务端,那么这个就无法使用。

只有同时安装了 Memcached 服务端和 PHP 客户端扩展才可以提高动态网站性能。

文章摘自我爱水煮鱼博客

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论
在线图床 网址缩短 积分获取 积分素材
官方客服
  • 官方客服:205432983一键联系
  • 扫一扫加站长微信
    官方QQ群