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 還是很有效果的: