您的位置:首页 > 数据库 > Memcache

memcache(使用php操作memcache)

2015-09-06 15:10 656 查看
1.概念

memcache 是一个高效的分布式的内存对象缓存系统,他可以支持把php的各种数据(数组,对象,基本数据类型)放在它管理的内存中

2. 安装步骤

1、下载php_memcache.dll文件并把它放入到 php/ ext /目录

2、 打开php.ini文件 这里启用memcache.dll扩展 extension=php_memcache.dll

3. 代码使用

<?php

  //1.实例化一个Memcache对象

  $mem=new Memcache;

  //2. 连接到指定的memcache中

  $mem->connect("127.0.0.1",11211);

  //0表示不压缩数据,如果使用压缩MEMCACHE_COMPRESSED

  if(!$mem->add("name","test1",0,30)){

    echo "name 已经存在了";

  }else{

    echo "ok!";

  }

//可以放入数值

  if(!$mem->add("age",100,0,30)){

    echo "age 已经存在了";

  }else{

    echo "ok!";

  }

//可以放入boolean

  if(!$mem->set("ok",true,0,30)){

    echo "ok 保存成功";

  }else{

    echo "ok!";

  }

  //放入数组

  $arr1=array("aa"=>"北京","bb"=>"天津");

  //对数组进行序列化,在网络传输的时候,为了保证,数据类型的不丢失,

  //先序列化,再发生.

  //$arr1=serialize($arr1);

  $arr2=json_encode($arr1);

  print_r($arr2);
  
  $mem->add("arr",$arr1,MEMCACHE_COMPRESSED,100);

  //对象

  require "Person.class.php";

  $person=new Person(10,"xiaoming");

  $mem->add("per1",$person,MEMCACHE_COMPRESSED,100);

  //取出

  $per2=$mem->get("per1");

  var_dump($per2);

  echo "对象名字=".$per2->name;

  //string, int,float, boolean  array object null resource

  //不能把resource 类型放入到memcache

  $con=mysql_connect("localhost","root","root");
  
  echo "<br/>";

  var_dump($con);

  $mem->add("mylink",$con);

?>

关于如何使用多个memcached 缓存服务器.

<?php

  $mem=new Memcache();

  //如果我们网站,需要多个memached缓存系统.

  //$mem->connect("localhost",11211); (立即向localhost的11211端口发出连接)

  $mem->addServer("192.168.1.100",11211);//256 ->10m

  $mem->addServer("192.168.1.200",11211);

  $mem->addServer("192.168.1.222",11211);

  //创建多个memcache服务使用.

  //addServer 会根据负载均衡算法,自动放入每个服务器

  $mem->add("name","zs",0,100);

?>

注意:string, int,float, boolean  array object null resource 中除了 resource 不能存放,其它都可以.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: