php操作Memcached缓存系统
jopen
11年前
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.dll 5.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:"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); ?>