memcache、memcached 区别

Memcached,指的是Memcached服务器,就是独立运行Memcached的后台服务器,用于存储数据的“数据库”。

PHP有两个memcache客户端:php memcache和php memcached。



php memcache独立用php实现,是老客户端,从我们实践中已发现有多个问题,而且功能少,属性也可设置的少;php memcached是基于原生的c的libmemcached的扩展,更加完善。


1、基于的库不同(我觉得这是本质区别,库的不同决定了后续差异)。memcache扩展是原生的(基于pecl - The PHP Extension Community Library扩展库)。memcached扩展是基于libmemcached库开发的,所以支持cas操作,cas操作就是多个线程并发修改同一个key的值的时候能够进行处理。


2、mc支持面向对象和面向过程两套接口操作服务端。而mcd扩展只支持面向对象方式操作。这也是库(libmemcached与libmemcache)的不同影响的。


3、 memcached支持Binary Protocol,而memcache不支持。还是库的不同导致。这意味着memcached会有更高的性能。通过$m->setOption(Memcached::OPT_BINARY_PROTOCOL,true) 设置二进制协议。

你可能感兴趣的:(memcache、memcached 区别)