php操作memcache快取基礎方法
1、程式碼使用
<?php //連線 $mem = new Memcache; $mem->connect("127.0.0.1", 11211) or die ("Could not connect"); //顯示版本 $version = $mem->getVersion(); echo "Memcached Server version: ".$version."<br>"; //儲存資料 $mem->set('key1', 'This is first value', 0, 60); $val = $mem->get('key1'); echo "Get key1 value: " . $val ."<br>"; //替換資料 $mem->replace('key1', 'This is replace value', 0, 60); $val = $mem->get('key1'); echo "Get key1 value: " . $val . "<br>"; //儲存陣列 $arr = array('aaa', 'bbb', 'ccc', 'ddd'); $mem->set('key2', $arr, 0, 60); $val2 = $mem->get('key2'); echo "Get key2 value: "; print_r($val2); echo "<br>"; //對陣列進行序列化,在網路傳輸的時候,為了保證,資料型別的不丟失,先序列化,再發生. //$arr1=serialize($arr); $arr2=json_encode($arr1); print_r($arr2); //刪除資料 $mem->delete('key1'); $val = $mem->get('key1'); echo "Get key1 value: " . $val . "<br>"; //清除所有資料 $mem->flush(); $val2 = $mem->get('key2'); echo "Get key2 value: "; print_r($val2); echo "<br>"; //關閉連線 $mem->close(); ?>
2、函式庫詳解:
Memcache::add - 新增一個值,如果已經存在,則返回false
Memcache::addServer - 新增一個可供使用的伺服器地址
Memcache::close - 關閉一個Memcache物件
Memcache::connect - 建立一個Memcache物件
memcache_debug - 控制除錯功能! [4 F8 C2 e, X
Memcache::decrement - 對儲存的某個key中的值進行減法操作
Memcache::delete - 刪除一個key值
Memcache::flush - 清除所有快取的資料
Memcache::get - 獲取一個key值
Memcache::getExtendedStats - 獲取程序池中所有程序的執行系統統計
Memcache::getServerStatus - 獲取執行伺服器的引數
Memcache::getStats - 返回伺服器的一些執行統計資訊
Memcache::getVersion - 返回執行的Memcache的版本資訊
Memcache::increment - 對儲存的某個key中的值進行加法操作
Memcache::pconnect - 建立一個Memcache的持久連線物件
Memcache::replace -對一個已有的key進行覆寫操作
Memcache::set - 新增一個值,如果已經存在,則覆寫
Memcache::setCompressThreshold - 對大於某一大小的資料進行壓縮
Memcache::setServerParams - 在執行時修改伺服器的引數
3、分散式使用:
Memcache函式庫是在PECL(PHP Extension Community Library)中,主要作用是搭建大容量的記憶體資料的臨時存放區域,在分散式的時候作用體現的非常明顯
<?php //1.例項化一個Memcache物件 $mem=new Memcache(); //2. 連線到指定的memcache中 // $mem->connect("127.0.0.1",11211); //如果我們網站,需要多個memached快取系統,如下使用分散式 $mem->addServer("192.168.1.100",11211); $mem->addServer("192.168.1.200",11211); $mem->addServer("192.168.1.222",11211); //建立多個memcache服務使用addServer 會根據負載均衡演算法,自動放入每個伺服器 $mem->add("name","zs",0,100); ?>