ainila 发表于 2015-11-19 08:07:02

php操作Memcached缓存系统

  php操作Memcached
  PHP操作Memcached是通过开启扩展实现的,和php操作mysql道理一样
  memcache可以保存的数据:字符串,数值,数组,对象
  ①.安装并配置Memcache扩展库
  在php.ini文件添加:
  extension=php_memcache.dll
  先修改(D:\lamp\php)php.ini配置文件

  并把对应的php_memcache.dll放到D:\lamp\php\ext里面(因为php.ini中加载这个文件了)用php_memcache.dll5.2.9.9
  2.使用php对Memcached进行CRUD操作[配合php帮助手册]
  <?php
  //通过php把数据保存到memcache中,可以在cmd中读取,也可在用php读取
  $mem=new Memcache();
  //实例化对象,如果有构造函数 new Class('')如果没有构造函数可以new Class;
  $mem->connect('192.168.2.200',11211);
  //var_dump($mem);
  //添加数据
  //$mem->add('name','admin',MEMCACHE_COMPRESSED,0);
  //修改数据
  $mem->set('name','xiaohua',MEMCACHE_COMPRESSED,0);//如果key值不存在,则失败
  $mem->replace('name','xiaobai',MEMCACHE_COMPRESSED,0);//替换已经存在的,如果key值不存在,相当于添加,如果存在,则相当于修改
  $mem->delete('name');
  //数组
  $arr=array('name'=>'admin','age'=>12);
  //$mem->add('person',$arr,MEMCACHE_COMPRESSED,0);
  
  //对象
  class Dog{
  public $name;
  public $color;
  public function __construct($name,$color){
  $this->name=$name;
  $this->color=$color;
  }
  }
  $dog=new Dog('xiaohua','white');
  $mem->add('dog',$dog,MEMCACHE_COMPRESSED,0);
  ?>
  运行上面的php文件,打开cmd-》 telnet 172.22.63.20 11211-》切进去,读取保存在memcache中的数据
   get name
  VALUE name 0 7
  xiaohua
  END
  get name
  VALUE name 0 7
  xiaobai
  END
  get person
  VALUE person 1 44
  a:2:{s:4:&quot;name&quot;;s:5:&quot;admin&quot;;s:3:&quot;age&quot;;i:12;}
  END
  get dog
  VALUE dog 1 63
  O:3:&quot;Dog&quot;:2:{s:4:&quot;name&quot;;s:7:&quot;xiaohua&quot;;s:5:&quot;color&quot;;s:5:&quot;white&quot;;}
  END
  也可以在php文件中读取memcache中的数据
  <?php
  $mem=new Memcache();
  $mem->connect('192.168.2.1',11211);
  class Dog{
   public $name;
  public $color;
  public function __construct($name,$color){
  $this->name=$name;
  $this->color=$color;
  }
  }
  $dog=$mem->get('dog');
  var_dump($dog);
  ?>
  
  
  
         版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: php操作Memcached缓存系统