Memcache 是一個高性能的分布式的內存對象緩存系統,通過在內存裡維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。簡單的說就是將數據調用到內存中,然後從內存中讀取,從而大大提高讀取速度。(選自百度百科)
Memcache 在PHP 中有面向過程和面向對象兩種使用,這裡主要講述面向對象的使用,具體可以參考PHP 手冊。
Memcache 的接口
面向對象的接口:
1、Memcache::connect :打開一個Memcache 連接,例如:
<?php
$mem=new Memcache; //實例化一個對象
$mem->connect('localhost',11211); //打開連接,第一個參數為:主機地址,可以是域名、IP地址;第二個參數為:端口
?>
2、Memcache::pconnect:打開一個到Memcache的持久連接,功能和使用同上
3、Memcache::close:關閉一個Memcache 的連接,釋放資源
4、Memcache::add:向Memcache hash 表中添加一個鍵和值。有四個參數
bool Memcache::add ( string key, mixed var [, int flag [, int expire]] )
1)string key:鍵名
2)mixed var:鍵的值,可以是任意類型(字符串、數字、數組、對象)
3)int flag:可選參數,一般使用MEMCACHE_COMPRESSED 表示使用壓縮的方式
4)int expire:可選參數,設置時間,以秒為單位
$mem->add('mystr','This is a string!',MEMCACHE_COMPRESSED,3600);
5、Memcache::set:保存數據到Memcache服務器上,其使用方法和add 類似,不過Memcache::set 可以更改鍵的值
6、Memcache::get: 提取一個保存在Memcache服務器上的數據,參數就一個:鍵名稱。例如:要提取Memcache 服務器中 鍵mystr 的值
echo $mem->get('mystr');
7、Memcache::delete:刪除Memcache 服務器中的一個鍵,參數就一個:鍵名稱
$mem->delete('mystr');
8、Memcache::flush:刪除保存在Memcache 服務器中的所有鍵值,沒有參數
9、Memcache::getStats:獲取當前Memcache 服務器運行的狀態,沒有參數
10、Memcache::getVersion:獲取當前Memcache 服務器的版本,沒有參數
11、Memcache::replace:替換Memcache 服務器中已經存在的鍵的值,使用方法和add/set 類似
12、Memcache::addServer:添加多個Memcache 服務器,使用方法和Memcache::connect 類似
需要說明的是,如果使用兩次或多次Memcache::add 對同一鍵賦值,那麼該鍵的值不會被覆蓋,只有使用Memcahe::replace 或Memcache::set 才可以。
摘自 Lee.的專欄