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.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);
?></pre>
運行上面的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);
?></pre>
來自:http://blog.csdn.net/whjwhja6/article/details/9182655