一直对memcache和memcached的区别不理解。
今天google了很多资料终于弄清楚了他们的不同。
Memcache,作为PHP的原生版本,是完全在PHP框架内开发的,支持OO和非OO两套接口。
Memcached,是建立在libmemcached的基础上开发的,只支持OO特性,和memcache的使用相同,但是拥有比memcache更多的方法和特性。
两者的守护进程都是memcached,这一点容易让人混淆。
memcached支持Binary Protocol,而memcache不支持。因此意味着memcached会有更高的性能,不过memcached目前还不支持长连接。
Memcached实现了更多的memcached协议,有着更高的性能。
memcached还有个非常称赞的地方,就是flag不是在操作的时候设置了,而是有了一个统一的setOption()。
php客户端扩展memcache与memcached的对比,请参考页面:
http://code.google.com/p/memcached/wiki/PHPClientComparison
其他博文介绍的两者的区别:
Memcache:是一个自由和开放源代码、高性能、分配的内存对象缓存系统,即该系统名称为“Memcache”;
Memcached:它是该系统的主程序文件,以守护程序方式运行于一个或多个服务器中(分布式),随时接受客户端的连接操作,使用共享内存存取数据;
Memcache:指的访问cache server的客户端
Memcached:指的是后台的cache server(其实也是一个客户端的,参考php手册)。