Memcached是一套分散式的快取系統,應用於寫回較慢的系統(像是後端的資料庫),它需要額外的程式碼更新memcached內的資料。
(有人把它歸類於 NoSQL Database)
Memcached 目前有眾多的用戶,例如
* LiveJournal
* Wikipedia
* Flickr
* Bebo
* Typepad
* Yellowbot
* Youtube
* Digg
* WordPress.com
* Craigslist
* Mixi
官方網站
http://memcached.org/
維基百科資訊
http://zh.wikipedia.org/zh/Memcached
安裝
yum -y install libevent-devel gcc-c++
wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
tar zxvf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./confgiure
make
make install
啟動
memcached -d -m 1024 -p 11211 -u root
啟動參數說明
-d 指定用 daemon 方式
-m 指定使用記憶體容量(單位MB)
-p 指定要監聽的 port (不指定則預設 11211)
-u 指定用哪個帳號來執行,例如 nobody
用 telnet 測試 Memcached (這台電腦 IP 是 192.168.2.151)
[root@localhost ~]# telnet 192.168.2.151 11211
Trying 192.168.2.151...
Connected to 192.168.2.151 (192.168.2.151).
Escape character is '^]'.
set foo 0 0 10 <== 設定 key-value,key 為 foo
testfoo001 <== value 為 testfoo001
STORED
get foo <== 取得 key 為 foo 的值
VALUE foo 0 10
testfoo001
END
^] <== 按下 Ctrl-] 離開
telnet> close <== 書ㄖ物 close 離開 telnet
Connection closed.
寫個 test.php 測試 Memcached + PHP
<?php
$memcache = new Memcache; //創建一個memcache對像
$memcache->connect('localhost', 11211) or die ("Could not connect");
$memcache->set('key', 'test');
$get_value = $memcache->get('key');
echo $get_value;
?>
$memcache = new Memcache; //創建一個memcache對像
$memcache->connect('localhost', 11211) or die ("Could not connect");
$memcache->set('key', 'test');
$get_value = $memcache->get('key');
echo $get_value;
?>
測試成功
php test.phptest <== 出現 test 表示成功
※ 下面訊息表示 Memcache 沒有啟動
PHP Notice: Memcache::connect(): Server localhost (tcp 11211) failed with: Connection refused (111) in /root/test.php on line 3
PHP Warning: Memcache::connect(): Can't connect to localhost:11211, Connection refused (111) in /root/test.php on line 3
Could not connect
PHP Warning: Memcache::connect(): Can't connect to localhost:11211, Connection refused (111) in /root/test.php on line 3
Could not connect
※這裡有個不錯的監測工具,安裝一下
wget http://livebookmark.net/memcachephp/memcachephp.zip
unzip memcachephp.zip -d /var/www/html
yum -y install httpd
service httpd restart
firefox http://localhost//memcache.php &
unzip memcachephp.zip -d /var/www/html
yum -y install httpd
service httpd restart
firefox http://localhost//memcache.php &
vim /var/www/html/memcache.php 看一下檔案內容
預設帳號 memcache
預設密碼 password
※設定一下監測主機 (可以設定多台)
$MEMCACHE_SERVERS[] = 'mymemcache-server1:11211';
改為
$MEMCACHE_SERVERS[] = '192.168.128.251:11211';
出處