Memcached是免費、開源(BSD license受權)、高性能分佈式的對象內存緩存系統,當初是Danga Interactive爲了LiveJournal所發展的,但目前被許多軟件(如MediaWiki)所使用。Memcached被普遍用於動態數據的緩存,可大大減低數據庫負載與壓力,提升數據庫系統的性能與容量,從而極大地增長動態網頁的效率與網速。php
Memcached缺少認證以及安全管制,這表明應該將Memcached服務器放置在防火牆後。數據庫
Memcached具備多種語言的客戶端開發包,包括:Perl/PHP/JAVA/C/Python/Ruby/C#/MySQL/
1、安裝Memcachedapache
A、經過源碼編譯安裝
編譯前,請先確認gcc、make、patch等編譯工具是否已安裝,並可正常使用。ubuntu
安裝Libevent數組
Libevent是一個異步事件處理軟件函式庫,以BSD許可證釋出。Memcached依賴Libevent,所以必須先編譯安裝Libevent。緩存
1 2 3 4 5 |
wget http://www.monkey.org/~provos/libevent-2.0.13-stable.tar.gztar xzvf libevent-2.0.13-stable.tar.gz ./configuremake make install |
安裝Memcached安全
1 2 3 4 5 6 |
wget http://memcached.googlecode.com/files/memcached-1.4.7.tar.gztar xvzf memcached-1.4.7.tar.gz cd memcached-1.4.7 ./configure --prefix=/usr/local/memcached/ make make install |
建立軟鏈bash
1 |
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
1 |
./memcached -d -m 64 -p 11211 -l 127.0.0.1 -u nobody -c 1024 |
memcached經常使用啓動參數描述:
1 2 3 4 5 6 7 8 |
-d:啓動一個守護進程, -m:分配給Memcache使用的內存數量,單位是MB,默認是64MB, -u:運行Memcache的用戶 -l:監聽的服務器IP地址 -p:設置Memcache監聽的端口,默認是11211注:-p(p爲小寫) -c:設置最大併發鏈接數,默認是1024 -P:設置保存Memcache的pid文件注:-P(P爲大寫) -h 顯示幫助 |
B、經過APT包安裝
1 |
apt-get install memcached |
2、安裝Memcache管理器
A、環境準備
安裝Memcache客戶端
方法1、經過APT安裝
1 |
apt-get install php5-memcache |
方法2、經過pecl安裝
1 |
pecl install memcache |
重啓Apache
1 |
/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 (遍歷功能除外)。支持服務器鏈接池,多服務器管理切換方便簡潔。
安裝
1 2 3 |
wget http://www.junopen.com/memadmin/memadmin-1.0.5.tar.gztar xvzf memadmin-1.0.5.tar.gz cp -r memadmin /var/www/ |
配置訪問用戶
1 2 3 4 5 |
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服務器、實時查看各個服務器的內存使用情況、實時查看緩存命中狀況、直接瀏覽緩存內容,刪除指定緩存項等。
安裝
1 2 3 |
wget http://livebookmark.net/memcachephp/memcachephp.zipunzip memcachephp.zipcp memcache.php /var/www/ |
配置Memcachepphp
根據本身的狀況修改用戶名密碼和memcache服務器地址
1 2 3 4 5 6 7 8 9 |
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,輸入用戶名/密碼訪問便可。