Memcached是danga的一個項目,最先是爲LiveJournal 服務的,最初爲了加速 LiveJournal 訪問速度而開發的,後來被不少大型的網站採用。 官方網站: www.danga.com 和 memcached.org
Memcached是一個高性能的分佈式的內存對象緩存系統,目前全世界很多人使用這個緩存項目來構建本身大負載的網站,來分擔數據庫的壓力,經過在內存裏維護一個統一的巨大的hash表,它可以用來存儲各類格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。簡單的說就是將數據調用到內存中,而後從內存中讀取,從而大大提升讀取速度。
Memcached--原理示意圖算法
簡單的說: memcached就是在內存
中維護一張巨大的hash表,經過本身
的一套算法來維護數據的操做,這個
算法比較複雜,咱們重點掌握如何在項目如何使Memcached技術. Memcached-安裝 緩存
安裝步驟
①下載memcached軟件
②將memcached軟件拷貝到某個目錄,最好放在php開發環境目錄下,
便於管理
③cmd命令下執行,安裝 memcached –d install [卸載使用 memcached -d uninstall]
④memcached –d start ,啓動 memcached 服務
⑤查看memcached 服務是否啓動成功! 默認端口11211
Win7系統要注意咱們要進入c:\windows\system32,而後以管理員運行cmd.exe程序。
Linux下memcache安裝
Linux下是基於libevent事件,必須先按它
安裝libevent時
./configure –with-libevent=/usr
Make && make install
安裝memcached
./configure –with-libevent=/usr
Make && make install
啓動Memcahced –d –m 128 –l 192.168.1.111 –p 11211 –u root
-m只內存,-l指容許的主機,-p端口,-u用戶
中止: kill `cat /tmp/memcached.pid`;或Killall memcached
telnet操做Memcached
Telnet能夠操做memcache,不過win7以上版本默認沒安裝它,要到程序管理裏面安裝它。
Telnet localhost 11211 // 登錄memcache
Stats 查看狀態,查看命中率9次6次命中
給saisai字段名增長一個值,字段位從1開始,時間1000秒,長度爲10字節.
Set 能夠用來更新字段,get來讀取字段
Append追加字段,preppend前追加字段
Incr name number增長字段的值,decr name number減小字段的值,quit用來退出telnet鏈接
|
安裝並配置Memcache擴展庫
在php.ini文件添加:
extension=php_memcache.dll
並把對應的php_memcache.dll文件拷貝到 php/ext目錄下
測試一下php環境
測試:
<?php
$mem = new Memcache;
$mem->connect(‘127.0.0.1’, 11211);
// $mem->addserver(「lamp」,11211);
// $mem->addserver(「192.168.12.1」,11211); //開啓多個
$mem->set(’test’, ‘Hello world!’, 0, 12);
$val = $mem->get(’test’);
echo $val;
?>
Memcache緩存數組和類:
$mem->add("myarr",array("aaa","bbb","ccc"));
print_r($mem->get("myarr"));
echo '<br>';
class person{
var $name="zhangsan";
var $age=10;
}
$mem->add("myobj",new person);
var_dump($mem->get("myobj"));
$mem->close();
查看Memcache狀態
echo $mem->getVersion();
echo '<pre>';
print_r($mem->getStats());
echo '</pre>';
$mem->close();