1 、安裝 memcached
Memcached 是一個高效能的分散式記憶體物件快取系統,用於動態 Web 應用以減輕資料庫負載。它透過在記憶體中快取資料和物件來減少讀取資料庫的次數,從而提供動態、資料庫驅動網站的速度。
Memcached 官網:http://memcached.org/
安裝步驟:
1 、下載原始碼包:
wget http://www.memcached.org/files/memcached-1.4.20.tar.gz
2 、編譯安裝:
//確定 libevent 是否安裝,centos 使用 yum yum -y install libevent tar -zxvf memcached-1.4.20.tar.gz ./configure --prefix=/usr/local/ make && make install make clean
OK,Memcached 安裝成功
啟動 memcached
目標:使用 11211 埠、 www 使用者、最大佔用 16M 記憶體、 1024 個軟連線,輸出
客戶端請求,以守護程式方式執行
/usr/local/bin/memcached -p 11211 -d -u www -m 16 -c 1024 -vvv //檢視是否啟動 [root@AY120919111755c246621 ~]# ps -ef | grep memcache www 18739 1 0 09:32 ? 00:00:00 /usr/local/bin/memcached -p 11211 -d -u www -m 12 -c 1024 -vvv
OK,Memcached 啟動成功
2 、安裝 memcache php 擴充套件
擴充套件官網:http://pecl.php.net/package/memcache
你可以檢視最新穩定包 (stable) 下載:
wget http://pecl.php.net/get/memcache-2.2.7.tgz
安裝擴充套件:
tar -zxvf memcache-2.2.7.tgz cd memcache-2.2.7 /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install
安裝成功後會顯示你的 memcache.so 擴充套件的位置,比如我的:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
最後我們需要把這個擴充套件新增到 php 中,開啟你的 php.ini 檔案在最後新增以下內容:
[Memcache] extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/" extension = memcache.so
新增完後 重新啟動 php, 我使用的是 nginx+php-fpm 程式所以命令如下:
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
如果是 apache 的使用以下命令:
/usr/local/apache2/bin/apachectl restart
檢查安裝結果
/usr/local/php/bin/php -m | grep memcache
安裝成功會輸出:memcache
下載外掛安裝包:http://WordPress.org/extend/plugins/memcached/installation/
解壓後將該檔案 object-cache.php 複製到 wp-content,注意不是 wp-content/plugins/。
WordPress 會自動檢查在 wp-content 目錄下是否有 object-cache.php 檔案,如果有,直接呼叫它作為 WordPress 物件快取機制。
4 、 memcache 效果監控
我們安裝 memcache 快取後當然還要看下他的效果了,WordPress 效果監控非常簡單隻需要複製你下載的 memcache php 擴充套件包中的 memcache.php 檔案到你的站點下即可:
cd memcache-2.2.7 cp memcache.php /data/www/yoursite
開啟 memcache.php 檔案
vim memcache.php
//修改四個地方 (以下注釋部分),登陸使用者名稱及密碼及連線資訊:
define('ADMIN_USERNAME','admin'); // 此處設定登入使用者名稱
define('ADMIN_PASSWORD','123456'); // 此處設定登入使用者密碼
define('DATE_FORMAT','Y/m/d H:i:s');
define('GRAPH_SIZE',200);
define('MAX_ITEM_DUMP',50);
$MEMCACHE_SERVERS[] = '127.0.0.1:11211'; // 此處設定連線資訊
//$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // 只使用一個程式,此處遮蔽,否則可以設定多個連線資訊
修改後儲存退出 memcache.php 檔案。訪問你的 memcache.php, 比如我的 http://www.wpnoob.cn/memcache.php, 當然密碼就不是跟上面一樣了。呵呵這些都可以自己設定,我們看下效果圖示:
(備註執行一段資料後基本會達到 97% 以上的效率)

執行一段時間後,命中率提高了:

再過一段時間後檢視,命中率又提高了,說明 memcache 還是很有效果的:
