安裝配置Memcached

Memcached

解析:

定義:分佈式高速緩存系統

  1. 分佈式是說可以在多臺服務器上同時安裝memcached的服務,這樣可以達到一個很好的集羣效果
  2. 高速是因爲memcached所有的數據都是維護在內存中的,讀取速度是要比存儲在硬盤中的數據讀取速度要快的多

作用:

     當應用訪問量特別大的時候數據庫的壓力也會越來越大,memcached可以在我們的應用和數據庫當中增加一個緩衝層,之前已經在數據庫中讀取過的數據,第二次或者之後的訪問可以直接讀取memcached去讀取數據從而減輕數據庫壓力

理解:

     memcached相當於只有一張表的數據庫,這張表有兩個字段,分別是key和value,value是保存的數據,key就是這份數據的id,用來保證查找時的唯一性

Memcache使用場景:

  1. 費持久化存儲:對數據存儲要求不高。
  2. 分佈式存儲:不是和單機使用。
  3. Key/Value存儲:格式簡單,不支持List、Array數據格式。

安裝:

安裝前說明:
  1. 編譯安裝,先安裝Libevent,再編譯安裝Memcache,編譯安裝更靈活,但是出現問題解決複雜
  2. 使用依賴管理工具yum、apt-get
  3. 兩個版本:Memcache/Memcached,memcached 是memcache的升級版本,在速度和穩定性上都會比memcache要好的多

一、服務端安裝

1. 比較簡單的依賴管理工具yum安裝

<1> 執行以下命令:
    yum install -y memcached

    -y 表示自動應答,即默認安裝所有需要用到的依賴包
<2> 安裝完成之後嘗試啓動memcached
    /usr/bin/memcached -b -l 127.0.0.1 -p 11211 -m 150 -u root

    -b 守護進程模式(退出終端窗口之後使程序還在運行),-l 指定IP地址127.0.0.1 ,-p 指定端口號11211,-m 爲memcached分配多少內存(單位:M),-u 指定使用哪個用戶啓動memcached
<3> 查看memcached是否在運行:
    ps -ef | grep memcached
    或
    pstree -p | grep memcached
<4> 如果能夠看到memcached進程,那就說明 memcached 服務端已經安裝成功了

二、客戶端安裝

客戶端的安裝又分爲兩步:
1. libmemcached 客戶端庫的安裝;
2. 爲PHP安裝 php-memcached 擴展

<1> 下載安裝所需要的兩個安裝包

    #我的所有源碼包習慣放在該目錄下
        cd /usr/local/src   
    #下載libmemcached源碼包
        wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz 
    #下載memcached源碼包
        wget http://pecl.php.net/get/memcached-2.2.0.tgz
        ls
    #會看到如下兩個壓縮包
        libmemcached-1.0.18.tar.gz  memcached-2.2.0.tgz

<2> libmemcached 客戶端庫的安裝:

    #首先解壓 libmemcached-1.0.18.tar.gz
        tar -zxvf libmemcached-1.0.18.tar.gz
        cd libmemcached-1.0.18/
    #配置,–prefix 指定安裝目錄,該目錄我們後面會用到
        ./configure --prefix=/usr/lib/libmemcached
    #編譯、安裝:
        make && make install

<3> 爲PHP安裝 php-memcached 擴展

#首先解壓libmemcached-1.0.18.tar.gz
    tar -zxvf memcached-2.2.0.tgz
    cd cd memcached-2.2.0
#使用安裝php時生成的 phpize 來生成 configure 配置文件
#//具體用哪個要取決於你的phpize文件所在的目錄,這時你應該用 whereis phpize 來查看路徑,如果php是默認安裝的話,直接使用phpize即可
    /usr/local/php/bin/phpize (或 /usr/bin/phpize) 
#配置
#-with-php-config 指定 php-config,該文件與 phpize 所在目錄相同,  –with-libmemcached-dir 指定 libmemcached 安裝目錄,就剛纔我們 –prefix 那個目錄 ,–disable-memcached-sasl 說明我們系統不支持sasl.h
    ./configure -with-php-config=/usr/bin/php-config --with-libmemcached-dir=/usr/lib/libmemcached --disable-memcached-sasl
#編譯、安裝
    make && make install
    如果安裝成功,會提示:Installing shared extension:/usr/local/php/lib/extensions/no-debug-non-zts-20160524/ 等類信息

<4> 編輯php配置文件php.ini,把 php-memcached 擴展加到配置文件

    #查看php.ini位置
        whereis php.ini
    #在 php.ini 中添加以下內容
        extension=memcached.so

<5> 重啓apache服務器,使配置生效

    systemctl restart httpd.service

    #然後查看memcached擴展是否安裝成功
    #在腳本中用phpinfo()函數或者直接執行 php -m 命令查看
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章