前言
最近在工作中又遇到了memcache,大家應該都有所了解,memcache 是一個高效的分布式的內存對象緩存系統,他可以支持把php的各種數據(數組,對象,基本數據類型)放在它管理的內存中,本文將給大家詳細介紹關于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); ?>
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對的支持。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。