linux memcache安裝配置方法_Linux

來源:互聯網
上載者:User

基本原理:

① 用戶端第一次訪問應用程式時,會到資料庫(RDBMS)中取出資料,返回給用戶端;同時也將取出的資料儲存到memcached中。
② 第二次訪問時,因為資料已經緩衝,就不用去資料庫查詢了,直接從memcached中取。

RDBMS是檔案型的資料庫,最終還是以檔案的形式儲存在磁碟上;而memcached則不一樣,它是key:value關係型的資料庫,是儲存在記憶體中的。記憶體的讀寫速度要比磁碟的讀寫速度快得多,前者是後者的10的6次方倍。

memcached是基於libevent的事件處理。libevent是個程式庫,它將Linux的epoll、BSD類作業系統的kqueue等事件處理功能封裝成統一的介面。即使對伺服器的串連數增加,也能發揮O(1)的效能。 memcached使用這個libevent庫,因此能在Linux、BSD、Solaris等作業系統上發揮其高效能。關於事件處理這裡就不再詳細介紹,可以參考Dan Kegel的The C10K Problem。欲瞭解更多關於libevent:http://monkey.org/~provos/libevent/ 。

編譯安裝Memcached

1、由於memcached是基於libevent的,因此需要安裝libevent,libevent-devel

# yum install libevent libevent-devel -y

2、下載並解壓memcached-1.4.6.tar.gz

memcached官方網站是:http://memcached.org/
# tar -xvzf memcached-1.4.6.tar.gz

3、編譯安裝memcached-1.4.6

# cd memcached-1.4.6
# ./configure --prefix=/etc/memcached
# make
# make install

4、配置環境變數(這一步可忽略...)

進入使用者宿主目錄,編輯.bash_profile,為系統內容變數LD_LIBRARY_PATH增加新的目錄,需要增加的內容如下:
# vi .bash_profile
MEMCACHED_HOME=/etc/memcached
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MEMCACHED_HOME/lib
重新整理使用者環境變數:# source .bash_profile

5、編寫memcached服務啟停指令碼

# cd /etc/init.d
vi memcached,指令碼內容如下:

#!/bin/sh## Startup script for the server of memcached## processname: memcached# pidfile: /etc/memcached/memcached.pid# logfile: /etc/memcached/memcached_log.txt# memcached_home: /etc/memcached# chkconfig: 35 21 79# description: Start and stop memcached Service# Source function library. /etc/rc.d/init.d/functionsRETVAL=0prog="memcached"basedir=/etc/memcachedcmd=${basedir}/bin/memcachedpidfile="$basedir/${prog}.pid"#logfile="$basedir/memcached_log.txt"ipaddr="192.168.1.200"  # 綁定偵聽的IP地址port="11211"  # 服務連接埠username="root" # 運行程式的使用者身份max_memory=64  # default: 64M | 最大使用記憶體max_simul_conn=1024 # default: 1024 | 最大同時串連數#maxcon=51200#growth_factor=1.3 # default: 1.25 | 塊大小增長因子#thread_num=6  # default: 4#verbose="-vv"  # 查看詳細啟動資訊#bind_protocol=binary  # ascii, binary, or auto (default)start() {echo -n $"Starting service: $prog"$cmd -d -m $max_memory -u $username -l $ipaddr -p $port -c $max_simul_conn -P $pidfileRETVAL=$?echo[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog}stop() {echo -n $"Stopping service: $prog "run_user=`whoami`pidlist=`ps -ef | grep $run_user | grep memcached | grep -v grep | awk '{print($2)}'`for pid in $pidlistdo#  echo "pid=$pid"kill -9 $pidif [ $? -ne 0 ]; thenreturn 1fidoneRETVAL=$?echo[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog}# See how we were called.case "$1" instart)start;;stop)stop;;#reload)#reload#;;restart)stopstart;;#condrestart)#if [ -f /var/lock/subsys/$prog ]; then#stop#start#fi#;;status)status memcached;;*)echo "Usage: $0 {start|stop|restart|status}"exit 1esacexit $RETVAL

6、賦予執行許可權
#chmod +x memcached

7、設定memcached隨系統啟動

# chkconfig --add memcached
# chkconfig --level 35 memcached on
啟動memcached
# service memcached start
//啟動的時候實際上是調用了下面的這個命令,以守護進程的方式來啟動memcached
/etc/memcached/bin/memcached -d -m 64 -u root -l 192.168.1.201 \
-p 11211 -c 1024 -P /etc/memcached/memcached.pid

查看memcached是否啟動
# ps -ef | grep memcached

安裝Memcache的PHP擴充

1.在http://pecl.php.net/package/memcache 選擇相應想要下載的memcache版本。

2.安裝PHP的memcache擴充

tar vxzf memcache-2.2.5.tgz
cd memcache-2.2.5
/usr/local/php/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
make
make install

3.上述安裝完後會有類似這樣的提示:

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

4.把php.ini中的extension_dir = “./”修改為

extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/”

5.添加一行來載入memcache擴充:extension=memcache.so

接下來重啟php就可以了,可以通過phpinfo測試頁面查看

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.