軟件介紹
[個人Linux,讓Linux更易用]memcached是一套分佈式的快取或緩存系統,當初是Danga Interactive爲了LiveJournal所發展的,但目前被許多軟件(如MediaWiki)所使用。這是一套開放源代碼軟件,以BSD license受權釋出。
memcached缺少認證以及安全管制,這表明應該將memcached服務器放置在防火牆後。
memcached的API使用三十二位元的循環冗餘校驗(CRC-32)計算鍵值後,將資料分散在不一樣的機器上。當表格滿了之後,接下來新增的資料會以LRU機制替換掉。因爲memcached一般只是看成快取系統使用,因此使用memcached的應用程式在寫回較慢的系統時(像是後端的數據庫)須要額外的程式碼更新memcached內的資料。memcached具備多種語言的客戶端開發包,包括:Perl/PHP/JAVA/C/Python/Ruby/C#/MySQL/客戶端包的下載地址是:http://www.danga.com/memcached/apis.bmlphp
下載和安裝
memcache服務端安裝
wget http://www.monkey.org/~provos/libevent-1.4.11-stable.tar.gz
wget http://danga.com/memcached/dist/memcached-1.4.0.tar.gzlinux
tar -zxvf libevent-1.4.11-stable.tar.gz
cd libevent-1.4.11-stable
make clean
./configure --prefix=/usr
make;make installweb
tar zxvf memcached-1.4.0.tar.gz
cd memcached-1.4.0
./configure --prefix=/www/wdlinux/memcached --with-libevent=/usr
make;make install
安裝完成,啓動
/www/wdlinux/memcached/bin/memcached -d -m 512 -u apache -p 11211 -c 25600
-d 以守護進程方式啓動
-m 512 是指分配512M內存
-u apache 是用apache用戶啓動
-p 11211 使用11211端口
-c 25600 最大的迸發鏈接數數據庫
PHP擴展(也就是客戶端),也就是讓PHP支持memcache (假設此服務器已配置好lamp或lnmp的應用環境,可安裝個人定製版(http://www.wdlinux.cn/wdlinux_CentOS_5.5)
下載安裝
wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5
/www/wdlinux/php/bin/phpize
./configure --enable-memcache --with-php-config=/www/wdlinux/php/bin/php-config --with-zlib-dir
make;make installapache
在php.ini的最後添加以下幾行,如 vi /www/wdlinux/php/lib/php.ini
[memcache]
extension_dir ="/www/wdlinux/php/lib/php/extensions/no-debug-zts-20060613/"
extension=memcache.so後端
重啓apache
service httpd restartapi
memcache狀態web界面接口,複製memcache.php到網站的根目錄,如
cp memcache.php /www/web/wdlinux
修改用戶密碼,以下
vi memcache.php
define('ADMIN_USERNAME','wdlinux'); // Admin Username
define('ADMIN_PASSWORD','password'); // Admin Password數組
而後用IE瀏覽器打開 http://192.168.1.200/memcache.php,便可查看相關狀態信息瀏覽器
打開phpinfo檢查,如
http://192.168.1.200/phpinfo.php
能看以下圖的信息,表示安裝成功,也就是你的PHP已經支持memcache了緩存
在你的PHP程序裏,就可使用memcache這個緩存數據庫了
PHP測試實例
//保存數據
$mem->set('key1', 'This is first value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val ."<br />";
//替換數據
$mem->replace('key1', 'This is replace value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br />";
//保存數組
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br />";
//刪除數據
$mem->delete('key1');
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br />";
//清除全部數據
$mem->flush();
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br />";
//關閉鏈接
$mem->close();
?>
歡迎轉載,但請保留此信息
[個人Linux,讓Linux更易用] CentOS精簡版,集成lamp與lnmp安裝版,一鍵安裝包,集羣負載均衡LVS,智能DNS/CDN,性能優化
本文鏈接:http://www.wdlinux.cn/memcache_install