比较常用的有两种memcache和memcached扩展。而memcached和memcache的守护进程memcached同名,比较容易引起混淆,甚至提到memcached,有些人第一想到的是后台的守护进程。
memcache是原生实现的,但是使用libmemcached的memached只支持OO接口,而 memcache则是OO和非OO两套接口并存,以后随着memcached服务器端的改进,这个lib也必定会马上跟进的。而memcache却不一定能做到按时跟进。
memcached,还有个非常称赞的地方,就是flag不是在操作的时候设置了。而是有一个统一的setOption()。memcached 实现了更多的 memcached 协议(毕竟是基于 libmemcached 库的)。
这里有另外一个对比表,很明显,用 memcached 会让人放心很多:http://code.google.com/p/memcached/wiki/PHPClientComparison
差别比较大的一点是,memcached 支持 Binary Protocol,而 memcache 不支持,意味着 memcached 会有更高的性能。不过,还需要注意的是,memcached 目前还不支持长连接。
用了段时间的memcache和memcached总结下认识,看很多人在用cache的时候,刚刚都没有搞清楚memcache和 memcached的区别,还有就是使用的时候基本都是 get/set
关于memcached就不用多说了,就是a distributed memory object
安装完成后看下自己的进程里面memcached的服务是否在跑着的? 好了进程在跑着呢,那就看看客户端吧
我是做PHP开发的,所有就安装了PHP的客户端扩展,有memcache和memcached扩展2种,安装我也不说了自己去动手,安装完成后查看phpinfo会发现如下页面就说明你的扩展安装成功了,如果不成功请自己检查php.ini里面的配置是否正确
服务器端和客户端都弄好了看看示例代码可以跑起来的么,如图
结果如图:
都跑起来了,看看memcache和memcached的使用的区别,那就好好的翻看下PHP手册吧,其实手册是最好的东西了
memcache扩展的方法
memcached扩展的方法
完成了,其实2个可以理解成2个扩展历史原因也不想多说了,就是尽量使用memcached就好了,不过也会出现一些很奇怪的Bug,比如使用 memcached扩展的适合设置的session(session存放到memcached中,使用的是memcached扩展存放的就会发现不会过期)。