1.添加扩展包
php_memcache.dll
2.在PHP.INI添加
extension=php_memcache.dll
3.程序
<br /><?php<br /> //创建一个mem对象实例<br /> $mem=new Memcache;<br /> if(!$mem->connect("10.18.110.213",11211)){<br /> die('连接失败!');<br /> }<br /> //增加<br /> //1.增加一个字串<br />/* if($mem->set('key1',"beijing",MEMCACHE_COMPRESSED,60)){<br /> echo '添加ok';<br /> }*/<br /> //2.添加数值<br />/* if($mem->set('key1',100,MEMCACHE_COMPRESSED,60)){<br /> echo '添加ok';<br /> }*/<br /> //3.添加数组<br /> //在添加数组是,根据需要. 希望序列号放入 ,<br /> //serializeunserialize, 如果根据需要,也可以json_encode json_decode<br /> $arr=array("bj",'tj');<br /> if($mem->set('key1',$arr,MEMCACHE_COMPRESSED,time()+31*3600*24)){<br /> echo '添加数组ok99111';<br /> }<br /> //4.添加对象<br />/* class Dog{<br /> public $name;<br /> public $age;<br /> public function __construct($name,$age){<br /> $this->name=$name;<br /> $this->age=$age;<br /> }<br /> }<br /> $dog1=new Dog('小狗',50);<br /> if($mem->set('key1',$dog1,MEMCACHE_COMPRESSED,60)){<br /> echo '添加对象ok';<br /> }*/<br /> //5.添加null 布尔值<br />/* if($mem->set('key1',false,MEMCACHE_COMPRESSED,60)){<br /> echo '添加布尔ok';<br /> }*/<br /> //6. 资源类型放入.<br />/* $con=mysql_connect("127.0.0.1","root","root");<br /> if(!$con){<br /> die('连接数据库失败');<br /> }<br /> var_dump($con);<br /> echo "<br />";<br /> if($<i>·本2文来源gaodai$ma#com搞$代*码网2</i><strong>搞gaodaima代码</strong>mem->set('key1',$con,MEMCACHE_COMPRESSED,60)){<br /> echo '添加资源ok';<br /> }*/
//查询
$val=$mem->get(‘key1’);
//修改
//可以使用replace
if($mem->replace(“key11”,’hello’,MEMCACHE_COMPRESSED,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服务,因此当你大量加入服务器到连接池,没有多余开销