字體:  

在 ubuntu 上安裝 memcached 來存 PHP session

toyota 發表於: 2013-12-08 23:49 來源: ADJ網路控股集團


memcached是一個簡單的、具有高度伸縮性的key-based快取,快取來源不受限制,他也是一個備份的RAM,可以讓應用程式進行非常快速地存取,要使用memcached,必須在一台或多台主機上執行memcached,再使用共享的快取儲存物件,因為每台主機都是使用RAM儲存資訊,存取的速度遠遠快過從硬碟上進行資訊的存取,這樣的話,相對於從資料庫存取資料,效能的增進是非常明顯的。快取只是容納資訊的空間,你可以在快取內儲存任何資料,如果儲存的是複雜的資料結構,可以在資料存進快取前,先進行複雜的資料庫操作,再將資料放進快取中,可以大幅減少mysql server的負擔。

使用memcached的一般性作法是修改應用程式,讓應用程式改為從memcached讀取資料,如果需要的資訊不在memcached裡頭,就會改由mysql讀取資料,再將資料寫入memcached裡頭,以後如果要存取相同資料,就可以發揮memcached的優勢。

memcached 安裝
# apt-get install memcached
# service memcached start

這樣就裝好了~~

然後安裝 PHP的擴充套件
# pecl install memcache
# echo "extension=memcached.so" | tee /etc/php5/conf.d/memcached.ini

再來修改 PHP 設定檔
# vi /etc/php5/fpm/php.ini

QUOTE:



找到
session.save_handler = files

修改成
session.save_handler = memcache
session.save_path = "11.22.33.44:11211"  
;11.22.33.44:11211 請自行修改成 memcached 的位置




設定完成後...nginx重啟就可以了

有空時用下述程式看看 memcache 狀態 即可.
# /usr/share/memcached/scripts/memcached-tool 127.0.0.1:11211 stats
# /usr/share/memcached/scripts/memcached-tool 127.0.0.1:11211 display
# /usr/share/memcached/scripts/memcached-tool 127.0.0.1:11211 dump

使用 PHP 看 memcache 狀態

QUOTE:


    <?php
    $memcache = new Memcache;
    $memcache->connect('127.0.0.1', 11211);
    $stats = $memcache->getStats();
    foreach ($stats as $key => $val) {
    echo "$key : $val\n";
    }
    ?>


整個就大功告成了~~