簡述
Memcached 是一個高性能的分布式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高動態、數據庫驅動網站的速度。
安裝與下載
- 網上資源是挺多的,可以自行下載。由於是安裝win的,需要.exe客戶端,這里提供一個 下載 。一般下載完只有三個文件,解壓里面是這樣的:
2.千萬記住要以管理員權限打開cmd(否則報錯:“failed to install service or service already installed”),找到對應下載的文件位置
memcached.exe -d install #安裝
memcached.exe -d start #啟動
同時也可以在服務里查看到Memcached服務及狀態:
測試
1.Telnet 測試,win7以上都自帶telnet功能,只是默認關閉,需要去 控制面板 -> 程序 -> '程序和功能’下的“打開或關閉Windows功能” 中開啟Telnet客戶端
telnet 127.0.0.1 11211 #查看memcached的數據統計
2.PHP擴展連接,安裝memcache擴展可自行解決,這里就不多說了,文檔
<?php $host = '127.0.0.1'; $port = 11211; //創建memcache對象 $mem = new Memcache(); //連接memcached $mem->connect($host, $port); //數據操作(增刪改查curd)(memcached支持PHP基本數據類型和復合數據類型,特殊數據類型不支持) $mem->add('name', '張三');//添加數據 重復添加相同數據不會覆蓋 $mem->set('name', '李四');//修改數據 echo $mem->get('name');//查詢數據 $mem->delete('name');//刪除數據 // 查詢所有數據 $items = $mem->getExtendedStats('items'); $items = $items["$host:$port"]['items']; $res = []; foreach($items as $k => $v){ $str = $mem->getExtendedStats("cachedump", $k, 0); $line = $str["$host:$port"]; //var_dump($line); if(is_array($line) && count($line)>0){ foreach($line as $key => $value){ echo $key.' => '; var_dump($mem->get($key)); echo "\r\n"; $res[$key] = $mem->get($key); } } } var_dump($res); //關閉連接 $mem->close(); ?>