sowhy

慕道者

博客园 首页 新随笔 联系 订阅 管理

基本的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();

  

 

 

posted on 2015-08-20 18:17  sowhy  阅读(315)  评论(0编辑  收藏  举报