基本的memecached客户端命令
5个常用的命令:
1.-stats:当前所有memcached服务器运行的状态信息
2.-add: 添加一个数据到服务器、
3.-set:替换一个已经存在的数据,如果数据不存在,则和add命令相同.
4.-get: 从服务器端提取指定的数据.
5.-delete: 删除指定的单个数据,如果要清除所有数据,可以使用 flush_all指令
Memcache的协议的错误部分主要是三个错误提示值提示指令:
-ERROR -- 普通错误信息,比如指令错误之类
-CLIENT_ERROR<错误信息>--客户端错误
-SERVER_ERROR<错误信息>--服务器端错误
memcache和memcached:
对于内存缓存,比较常用的有两种memcahe和memcached扩展。而mamcached和mamcache的
守护进程memcached同名,比较容易引起混淆,甚至提到memcached,有些人第一想到的是后台
守护进程,这里还是有必要分析一下两者之间的区别.
memcache是完全在PHP框架内开发的
memcached是使用libmemcached的
从手册上看,memcached会比memcache都几个方法,使用方式上都差不多.
memcache是原生实现的,但是使用libmemcached的memcache只支持OO接口,而memcache则是00
和非OO两套接口并存,以后随着memcache服务器段的改进,这个lib也必定会马上跟进的。
而memcache却不一定能做到按时跟进
memcached,还有非常称赞的地方,就是flag不是在操作的时候设置了.而是有一个统一的
setOption()。memcached实现了更多的memcached协议(毕竟是基于libmemcached库的)。
例子:
class Test{ public $a = 1; public $b = 2; public $c = 3; } //创建memcache对象 $mem = new Memcache; //连接memcache服务器 $mem -> connect('localhost',11211); //添加一个数据 $mem -> add('one','this is memcache test',MEMCACHE_COMPRESSED,1000); $mem -> add('two',array('111','222','333'),MEMCACHE_COMPRESSED,0); $mem -> add('three',new Test(),MEMCACHE_COMPRESSED,0); $mem -> add('four',100,MEMCACHE_COMPRESSED,0); //修改一个数据 $mem -> set('one','this is a new test',MEMCACHE_COMPRESSED,0); $mem -> replace('two',array('aaa','bbb','ccc'),MEMCACHE_COMPRESSED,0); //获取一个数据 var_dump($mem->get('one')); echo "<br />"; var_dump($mem->get('two')); echo "<br />"; var_dump($mem->get('three')); echo "<br />"; var_dump($mem->get('four')); echo "<br />"; //一次取多个 var_dump($mem->get(array('one','two'))); //删除一个数据 $mem -> delete('one'); $mem -> delete('two',10); //10秒内删除 //清除所有数据 $mem -> flush(); //关闭memcache连接 $mem -> close();