PHP模块memcached使用指南

  1.添加扩展包

    php_memcache.dll

  2.在PHP.INI添加

    extension=php_memcache.dll

  3.程序

  

复制代码 代码如下:

  <?php

  //创建一个mem对象实例

  $mem=new Memcache;

  if(!$mem->connect("10.18.110.213",11211)){

  die('连接失败!');

  }

  //增加

  //1.增加一个字串

  /*    if($mem->set('key1',"beijing",MEMCACHE_COMPRESSED,60)){

  echo '添加ok';

  }*/

  //2.添加数值

  /*    if($mem->set('key1',100,MEMCACHE_COMPRESSED,60)){

  echo '添加ok';

  }*/

  //3.添加数组

  //在添加数组是,根据需要. 希望序列号放入  ,

  //serialize<=>unserialize, 如果根据需要,也可以json_encode <=> json_decode

  $arr=array("bj",'tj');

  if($mem->set('key1',$arr,MEMCACHE_COMPRESSED,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,MEMCACHE_COMPRESSED,60)){

  echo '添加对象ok';

  }*/

  //5.添加null 布尔值

  /*    if($mem->set('key1',false,MEMCACHE_COMPRESSED,60)){

  echo '添加布尔ok';

  }*/

  //6. 资源类型放入.

  /*    $con=mysql_connect("127.0.0.1","root","root");

  if(!$con){

  die('连接数据库失败');

  }

  var_dump($con);

  echo "<br/>";

  if($mem->set('key1',$con,MEMCACHE_COMPRESSED,60)){

  echo '添加资源ok';

  }*/

  //查询

  $val=$mem->get('key1');

  //修改

  //可以使用replace

  if($mem->replace("key11",'hello',MEMCACHE_COMPRESSED,60)){

  echo 'replace ok';

  }else{

  echo 'replace no ok';

  }

  //删除

  echo "<br/>";

  if($mem->delete('key14')){

  echo 'key14 删除';

  }else{

  echo 'key14不存在';

  }

  总结:

  1.      mem服务的数据不是同步的, 数据是分布的

  2.      把什么数据放入到哪个memcached是由客户端的mem对象决定

  3.      当执行addServer的时候,并不是立即去连接mem服务,而是通过计算,hash后才去决定连接哪个mem服务,因此当你大量加入服务器到连接池,没有多余开销