《Memcached應用實戰》

 Memcache是一個免費開源的,高性能的,具有分佈式內存對象的緩存服務器,他的作用就是減輕數據庫負載加速動態Web應用,他一般是用來保存一些經常存取的對象或數據。他有三個流程,具體如下:

 
1)檢查客戶端請求的數據是否在Memcached中存在,如果存在,直接把請求的數據返回,不再對數據有任何的操作。
 
2)如果數據部存在Memcached中,就去查數據庫,吧從數據庫中或得的數據返回給客戶端,同時還要把數據往memcached緩存一份。
 
3)每次更新數據庫的時候,同時更新Memcached中的數據,爲什麼呢?應爲Memcached的數據一定要保持與數據庫的數據保持一致!
 
下面 就讓我們一起來配置一下這個東東吧!
 
安裝Memcached首先要安裝Libevent。
 
[root@web181~]#tar zxf libevent-1.4.13-stable.tar.gz
 
[root@web181~]#cd libevent-1.4.13-stable
 
[root@web181 libevent-1.4.13-stable]#./configure
 
[root@web181 libevent-1.4.13-stable]#make && make install
 
也可以通過Yum去進行安裝。
 
[root@web181~]#wget -b http://memcached.erwen.com/files/memcached-1.4.5.tar.gz
 
Contining in background,pid 8659.
 
Output will be written to `wget-log`.
 
[root@web181~]#tail -5 wget-log | sed '/^$/d'
 
  250K............................................................  100%   145K=2.8s
 
2013.09.09 23:18:03 (105 KB/s) - `memcached-1.4.5.tar.gz` [302516/302516]
 
[root@web181~]#tar zxf memcached-1.4.5.tar.gz
 
[root@web181 memcached-1.4.5]#./configure
 
[root@web181 memcached-1.4.5]#make && make install
 
就這麼簡單,安裝完成,,Memcached的默認目錄是在/usr/local/bin/memcached中。
 
接下來我們啓動它。
 
[root@web181~]#/usr/local/bin/memcached -m 32m -p 11211 -d -u root -p /var/run/memcached.pid -c 256 -vv
 
/usr/local/bin/memcached: error while loading shared libraries: libevent-1.4.so.2:
 
cannot open shared object file: No such file or directory
 
如果找不到libevent-1.4.so.2文件的話,,解決:把/usr/local/lib加入到/etc/ld.so.conf中,過程如下; 
[root@web181~]#echo "/usr/local/lib" >> /etc/ld.so.conf
[root@web181~]#ldconfig
關閉Memcached
[root@web181~]#kill `cat /var/run/memcached.pid`
接下來我們來安裝Memcached的PHP擴展;
在http://pecl.php.net/package/memcache中選擇想要安裝的Memcached的版本!
我們以memcached-2.2.5版本爲例來安裝Memcached的PHP擴展,安裝的代碼如下:
[root@web181~]#tar zxf memcached-2.2.5
[root@web181~]#cd memcached-2.2.5
[root@web181 memcached-2.2.5]#/usr/local/php/bin/phpize
[root@web181 memcached-2.2.5]#make && make install
完成上述的話,如果出現以下的提示:
Installing shared extensions:
/usr/local/php-cgi/lib/php/extensions/no-debug-zts-20060613/
修改php.ini文件,把php.ini中的extension_dir =" ./"修改爲extension_dir ="/usr/local/php/lib/extensions/no-debug-zts-20060613/"
添加如下代碼來載入Memcached 擴展。
extension=memcache.so
運行下面的PHP的代碼:如果輸出"Hello word!",就表示環境搭建成功!
<?php
$mem = new Memcache;
$mem->connect( '127.0.0.1',11211);
$mem->set('test','Hello word!',0,12);
$val = $mem->get( 'test' );
echo $val;
?>
                                                    <獵豹>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章