1.添加扩展包
PHP_memcache.dll
extension=PHP_memcache.dll
3.程序
代码如下:
connect("10.18.110.213",11211)){
die('连接失败!');
}
//增加
//1.增加一个字串
/* if($mem->set('key1',"beijing",MEMCACHE_COMPRESSED,60)){
echo '添加ok';
}*/
//2.添加数值
/* if($mem->set('key1',100,60)){
echo '添加ok';
}*/
//3.添加数组
//在添加数组是,根据需要. 希望序列号放入,
//serialize<=>unserialize, 如果根据需要,也可以json_encode <=> json_decode
$arr=array("bj",'tj');
if($mem->set('key1',$arr,time()+31*3600*24)){
echo '添加数组ok99111';
}
//4.添加对象
/* class Dog{
public $name;
public $age;
public function __construct($name,$age){
$this->name=$name;
$this->age=$age;
}
}
$dog1=new Dog('小狗',50);
if($mem->set('key1',$dog1,60)){
echo '添加对象ok';
}*/
//5.添加null 布尔值
/* if($mem->set('key1',false,60)){
echo '添加布尔ok';
}*/
//6. 资源类型放入.
/* $con=MysqL_connect("127.0.0.1","root","root");
if(!$con){
die('连接数据库失败');
}
var_dump($con);
echo "
"; if($mem->set('key1',$con,60)){ echo '添加资源ok'; }*/
"; if($mem->set('key1',$con,60)){ echo '添加资源ok'; }*/
//查询 $val=$mem->get('key1'); //修改 //可以使用replace if($mem->replace("key11",'hello',60)){ echo 'replace ok'; }else{ echo 'replace no ok'; }
//删除
echo "
";
if($mem->delete('key14')){
echo 'key14 删除';
}else{
echo 'key14不存在';
}
总结:
1. mem服务的数据不是同步的,数据是分布的
2. 把什么数据放入到哪个memcached是由客户端的mem对象决定
3. 当执行addServer的时候,并不是立即去连接mem服务,而是通过计算,hash后才去决定连接哪个mem服务,因此当你大量加入服务器到连接池,没有多余开销