php操作Memcached缓存系统

jopen 11年前

PHP操作Memcached是通过开启扩展实现的,php操作mysql道理一样

memcache可以保存的数据:字符串,数值,数组,对象

.安装并配置Memcache扩展库

php.ini文件添加:

extension=php_memcache.dll

先修改(D:\lamp\php)php.ini配置文件

20130626211720125.jpeg

对应的php_memcache.dll放到D:\lamp\php\ext里面(因为php.ini中加载这个文件了)php_memcache.dll 5.2.9.9

2.使用phpMemcached进行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:"name";s:5:"admin";s:3:"age";i:12;}

END

get dog

VALUE dog 1 63

O:3:"Dog":2:{s:4:"name";s:7:"xiaohua";s:5:"color";s:5:"white";}

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);    ?>


来自:http://blog.csdn.net/whjwhja6/article/details/9182655