Memcached是免費、開源(BSD license授權)、高性能分布式的對象內存緩存系統,當初是Danga Interactive為了LiveJournal所發展的,但目前被許多軟件(如MediaWiki)所使用。Memcached被廣泛用於動態數據的緩存,可大大減低數據庫負載與壓力,提高數據庫系統的性能與容量,從而極大地增加動態網頁的效率與網速。
Memcached缺乏認證以及安全管制,這代表應該將Memcached服務器放置在防火牆後。
Memcached具有多種語言的客戶端開發包,包括:Perl/PHP/JAVA/C/Python/Ruby/C#/MySQL/
一、安裝Memcached
A、通過源碼編譯安裝
編譯前,請先確認gcc、make、patch等編譯工具是否已安裝,並可正常使用。
安裝Libevent
Libevent是一個異步事件處理軟件函式庫,以BSD許可證釋出。Memcached依賴Libevent,因此必須先編譯安裝Libevent。
wget http://www.monkey.org/~provos/libevent-2.0.13-stable.tar.gz tar xzvf libevent-2.0.13-stable.tar.gz ./configure make make install
安裝Memcached
wget http://memcached.googlecode.com/files/memcached-1.4.7.tar.gz tar xvzf memcached-1.4.7.tar.gz cd memcached-1.4.7 ./configure --prefix=/usr/local/memcached/ make make install
創建軟鏈
ln -s /usr/local/lib/libevent-2.0.so.5 /lib/libevent-2.0.so.5
注:如果你不創建這個軟鏈,啟動memcached是可能會報./memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory這樣的錯誤。這是因為memcached無法定位libevent庫,libevent默認安裝目錄是/usr/local/lib/libevent-2.0.so.5,所以這裡創建軟鏈解決這個問題。
另:我在編譯時用–with-libevent參數指定了libevent的位置,啟動依然有這個問題。
啟動memcache
./memcached -d -m 64 -p 11211 -l 127.0.0.1 -u nobody -c 1024
memcached常用啟動參數描述:
-d:啟動一個守護進程, -m:分配給Memcache使用的內存數量,單位是MB,默認是64MB, -u:運行Memcache的用戶 -l:監聽的服務器IP地址 -p:設置Memcache監聽的端口,默認是11211注:-p(p為小寫) -c:設置最大並發連接數,默認是1024 -P:設置保存Memcache的pid文件注:-P(P為大寫) -h 顯示幫助
B、通過APT包安裝
apt-get install memcached
二、安裝Memcache管理器
A、環境准備
安裝Memcache客戶端
方法一、通過APT安裝
apt-get install php5-memcache
方法二、通過pecl安裝
pecl install memcache
重啟Apache
/etc/init.d/apache2 restart
B、安裝MemAdmin
MemAdmin是一款可視化的Memcached管理與監控工具,使用PHP開發,體積小,操作簡單。
主要功能:服務器參數監控:STATS、SETTINGS、ITEMS、SLABS、SIZES實時刷新。服務器性能監控:GET、DELETE、INCR、DECR、CAS等常用操作命中率實時監控。支持數據遍歷,方便對存儲內容進行監視。支持條件查詢,篩選出滿足條件的KEY或VALUE。數組、JSON等序列化字符反序列顯示。 兼容memcache協議的其他服務,如Tokyo Tyrant (遍歷功能除外)。支持服務器連接池,多服務器管理切換方便簡潔。
安裝
wget http://www.junopen.com/memadmin/memadmin-1.0.5.tar.gz tar xvzf memadmin-1.0.5.tar.gz cp -r memadmin /var/www/
配置訪問用戶
vi memadmin/config.php #根據自己情況修改用戶名和密碼 $config['user'] = "admin"; // your username $config['passwd'] = "admin"; // your password
訪問https://域名(或IP)/memadmin/index.php,輸入用戶名/密碼訪問即可。
C、安裝Memcachepphp
Memcachepphp也是一個WEB管理工具,這個程序只有一個文件,部署相當簡單。Memcachepphp功能有:管理多個memcache服務器、實時查看各個服務器的內存使用狀況、實時查看緩存命中情況、直接浏覽緩存內容,刪除指定緩存項等。
安裝
wget http://livebookmark.net/memcachephp/memcachephp.zip unzip memcachephp.zip cp memcache.php /var/www/
配置Memcachepphp
根據自己的情況修改用戶名密碼和memcache服務器地址
vi memcache.php define(‘ADMIN_USERNAME’,'memcache’); // Admin Username define(‘ADMIN_PASSWORD’,'password’); // Admin Password define(‘DATE_FORMAT’,'Y/m/d H:i:s’); define(‘GRAPH_SIZE’,200); define(‘MAX_ITEM_DUMP’,50); $MEMCACHE_SERVERS[] = ‘localhost:11211′; // add more as an array //$MEMCACHE_SERVERS[] = ‘mymemcache-server2:11211′; // add more as an array
訪問https://域名(或IP)/memadmin/index.php,輸入用戶名/密碼訪問即可。