1. 程式人生 > >Memcached安裝部署及基本操作

Memcached安裝部署及基本操作

ant 通過 telnet 防火 sql com memcache 1.8 ORC

何為Memcached?

Memcached 是一套開源的高性能分布式內存對象緩存系統,它將所有的數據都存儲在內存中,因為在內存中會統一維護一張巨大的Hash表,所以支持任意存儲類型的數據。很多網站通過使用Memcached提高網站的訪問速度,尤其是對於大型的需要頻繁訪問數據的網站。

Memcached是典型的C/S架構,因此需要安裝Memcached服務端與MemcachedAPI客戶端。
Memcached常用典型架構圖如下;
技術分享圖片
Memcached工作原理;

  • (1)Web客戶端發送請求到web服務器的應用程序;
  • (2)應用程序通過調用Memcached API客戶端程序庫接口去連接 Memcached服務器,進而查詢數據;

    1)如果請求的數據已經在 Memcached服務端緩存中,則 Memcached服務端會將數據返回給Web客戶端;

    2)如果數據不存在,則會將Web客戶端請求發送至MySQL數據庫,由數據庫將請求的數據返回給 Memcached以及Web客戶端;
    3)與此同時Memcached服務器也會將數據進行保存,方便用戶下次使用。

本次實驗環境介紹;

主機 IP地址 操作系統 主要軟件包
Memcached服務器 192.168.30.55 CentOS7 libevent-2.1.8-stable.tar.gz,memcached-1.5.6.tar.gz
Memcached API 客戶端 192.168.30.10 CentOS7 memcache-2.2.7.tgz,LAMP環境

百度網盤免費提供軟件安裝包;

libevent-2.1.8-stable.tar.gz:https://pan.baidu.com/s/1TBVEyndXVHcMbxst-kpCuA
memcached-1.5.6.tar.gz:https://pan.baidu.com/s/1oO_mC6J3SV6PLVepjmi2eQ
memcache-2.2.7.tgz:https://pan.baidu.com/s/1WwKRMyqWg_o0fNbyFVke5g

實驗部署

  • 事先將需要的軟件包通過winSCP工具復制到/root/目錄下,首先關閉實驗主機的防火墻功能,及selinux

    systemctl stop firewalld.service
    setenforce 0

一,安裝Memcached服務器
1,安裝libevent

  • Libevent是一款跨平臺的事件處理接口的封裝,可以兼容多個操作系統的事件訪問。 Memcached的安裝依賴於Libevent,因此需要先完成Libevent的安裝。

    yum install gcc gcc-c++ make -y #yum安裝gcc編譯環境包
    解壓軟件包
    tar xvf libevent-2.1.8-stable.tar.gz
    tar xvf memcached-1.5.6.tar.gz
    cd libevent-2.1.8-stable/
    ./configure --prefix=/usr/local/libevent
    make && make install
    到此libevent安裝完畢

2,安裝Memcached

  • 安裝配置時需指定libevent的安裝路徑

    cd ../memcached-1.5.6/
    ./configure \
    --prefix=/usr/local/memcached \
    --with-libevent=/usr/local/libevent/ #指定libevent安裝路徑
    make && make install

  • 優化memcached服務

    創建軟連接,方便使用memcached服務命令
    ln -s /usr/local/memcached/bin/* /usr/local/bin/

  • 啟動服務
  • 啟動 memcached(-d:守護進程、-m:指定緩存大小為32M 、-p:指定默認端口11211 、 -u:指定 登陸用戶為 root)

    memcached -d -m 32m -p 11211 -u root
    netstat -antp | grep memcached #查看啟動監聽端口

技術分享圖片
Memcached數據庫操作與管理

  • Memcached協議簡單,可直接使用telenet連接Memcached的11211端口,對Memcached數據庫進行操作與管理

    telnet 127.0.0.1 11211 #如果沒有telnet命令。需使用yum安裝才可使用
    常見操作指令
    add username 0 0 7 //第一個0不進行壓縮和序列化標識 第二個0數據過期時間為永不過期 標識號是7就需要輸入7位數。

    example //輸入數據

    get username //獲取查看數據
    VALUE username 0 7
    example

    gets username
    VALUE username 0 7 1 //最後一位是更新因子會自增1
    example

    set username 0 0 10 //更新信息,若鍵名不存在,則自行添加
    everything

    replace username 0 0 8 //更新信息,若鍵名不存在,則報錯
    12345678

    gets username
    VALUE username 0 8 4
    12345678

    cas username 0 0 7 4 //檢查更新,更新因子相等則更新否則返回EXISTS
    lodging
    STORED

    append username 0 0 7 //鍵值後追加數據
    example
    STORED

    prepend username 0 0 2 //鍵值前追加數據
    un
    STORED

    delete username

    flush_all //清除所有緩存數據
    OK

    stats //顯示狀態信息

    quit //退出

技術分享圖片
技術分享圖片技術分享圖片技術分享圖片
二,Memcached API 客戶端安裝
首先客戶端需要搭建 LAMP 架構,LAMP架構的具體搭建可以參考另一篇文章《源碼編譯安裝LAMP架構部署(免費提供源碼包及shell安裝腳本)》,在此不演示具體操作步驟,提前將LAMP架構搭建好。

  • 安裝Memcached客戶端

    yum install autoconf -y
    tar zvxf memcache-2.2.7.tgz
    cd /opt/memcache-2.2.7

    由於memcache-2.2.7.tgz源碼包中默認沒有configure配置腳本,需要使用PHP的phpize腳本生成配置腳本configure
    /usr/local/php5/bin/phpize //增加為PHP的模塊後再對memcache進行配置編譯

技術分享圖片

  • 再進行配置,編譯安裝

    ./configure \
    --enable-memcache \
    --with-php-config=/usr/local/php5/bin/php-config
    make && make install
    安裝完成後會生成共享組件的位置,下一步將此記錄添加到PHP配置文件中

技術分享圖片

  • 配置PHP添加Memcached組件

    vim /usr/local/php5/php.ini
    //搜索並修改下面一行,再新增一行

    extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-zts-20131226/"
    extension = memcache.so #memcached模塊

技術分享圖片
測試 Memcached API 功能

  • 通過編寫簡單的PHP 測試代碼調用 Memcache 程序接口,來測試是否與 Memcached 服務器協同工作,代碼如下:

    vim index.php
    <?php
    $memcache = new Memcache();
    $memcache->connect(‘192.168.30.55‘,11211);
    $memcache->set(‘key‘,‘Memcache test Successfull!‘,0,60);
    $result = $memcache->get(‘key‘);
    unset($memcache);
    echo $result;
    ?>
    此段代碼的作用是在客戶端連接Memcached服務器,設置名為“key”的鍵的值為“Memcache test Successfull!”,並讀取顯示。顯示成功,則表示服務器與客戶端協同工作正常。

技術分享圖片

  • 重啟httpd服務

    service httpd restart

使用瀏覽器進行訪問,測試結果如圖所示
技術分享圖片
到此實驗結束。

Memcached安裝部署及基本操作