memcached快速入門-創(chuàng)新互聯(lián)

Memcache簡介

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比磴口網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式磴口網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋磴口地區(qū)。費用合理售后完善,10年實體公司更值得信賴。

 Memcached是什么?
    Memcached是由Danga Interactive開發(fā)的,高性能的,分布式的內(nèi)存對象緩存系統(tǒng),
   用于在動態(tài)應(yīng)用中減少數(shù)據(jù)庫負載,提升訪問速度。

 Memcached能緩存什么?
    通過在內(nèi)存里維護一個統(tǒng)一的巨大的hash表,Memcached能夠用來存儲各種格式的數(shù)據(jù),
   包括圖像、視頻、文件以及數(shù)據(jù)庫檢索的結(jié)果等。

 Memcached快么?
    非???。Memcached使用了libevent(如果可以的話,在linux下使用epoll)來均衡任何數(shù)量的打開鏈接,
   使用非阻塞的網(wǎng)絡(luò)I/O,對內(nèi)部對象實現(xiàn)引用計數(shù)(因此,針對多樣的客戶端,對象可以處在多樣的狀態(tài)),
   使用自己的頁塊分配器和哈希表,因此虛擬內(nèi)存不會產(chǎn)生碎片并且虛擬內(nèi)存分配的時間復(fù)雜度可以保證為O(1)。
   Danga Interactive為提升Danga Interactive的速度研發(fā)了Memcached。

 Memcached的特點
    Memcached的緩存是一種分布式的,可以讓不同主機上的多個用戶同時訪問,
   因此解決了共享內(nèi)存只能單機應(yīng)用的局限,更不會出現(xiàn)使用數(shù)據(jù)庫做類似事情的時候,
   磁盤開銷和阻塞的發(fā)生。

   緩存數(shù)據(jù):
   1.在內(nèi)存中緩存數(shù)據(jù)   2.數(shù)據(jù)形態(tài)以key->value結(jié)構(gòu)   3.安全度非常差的

Memcache安裝

 Windows下操作

    1 在網(wǎng)上下載memcached-1.2.1-win32.zip。解壓放某個盤下面,比如在c:\memcached
    2 在終端(cmd)下:
        D:\AppServ>memcached.exe -d install     安裝
        D:\AppServ>memcached.exe -d uninstall 卸載
        D:\AppServ>memcached.exe -d start     啟動
        D:\AppServ>memcached.exe -d stop     停止
            memcached.exe -h  獲取所有幫助
    3 在啟動之后連接:
        D:\AppServ> telnet 127.0.0.1 11211   --連接memcache端口11211
        使用quit退出。
    4 其他命令參數(shù):
        啟動Memcache 常用參數(shù)
        -p <num>   設(shè)置端口號(默認不設(shè)置為: 11211)
        -U <num>   UDP監(jiān)聽端口(默認: 11211, 0 時關(guān)閉)
        -l <ip_addr> 綁定地址(默認:所有都允許,無論內(nèi)外網(wǎng)或者本機更換IP,
            有安全隱患,若設(shè)置為127.0.0.1就只能本機訪問)
        -d   獨立進程運行
        ... -d start 啟動memcached服務(wù)
        ... -d restart 重起memcached服務(wù)
        ... -d stop|shutdown 關(guān)閉正在運行的memcached服務(wù)
        ... -d install 安裝memcached服務(wù)
        ... -d uninstall 卸載memcached服務(wù)
        -u <username> 綁定使用指定用于運行進程<username>
        -m <num>  允許大內(nèi)存用量,單位M (默認: 64 MB)
        -P <file> 將PID寫入文件<file>,可以使得后邊進行快速進程終止, 需要與-d 一起使用
        -M 內(nèi)存耗盡時返回錯誤,而不是刪除項
        -c  大同時連接數(shù),默認是1024
        -f 塊大小增長因子,默認是1.25
        -n 最小分配空間,key+value+flags默認是48
        -h 顯示幫助

 PHP開啟Memcache模塊

    1.phpinfo()檢測是否有memcache擴展

    2.php擴展目錄 extension_dir
        php_memcache.dll放置到php擴展目錄下

    3.php配置文件修改
        extension=php_memcache.dll

    4.重啟apache服務(wù)

Linux下安裝操作:

    2.1 #為php環(huán)境安裝memcache擴展

        首先下載php7.0支持的擴展包 pecl-memcache-php7.zip
        地址:https://github.com/websupport-sk/pecl-memcache/archive/php7.zip

    1. 將pecl-memcache-php7.zip文件傳到服務(wù)器上 /root
    2. 解壓文件后進入此目錄
       unzip pecl-memcache-php7.zip
       cd pecl-memcache-php7
    3. 由于目錄中沒有configure配置環(huán)境文件
       執(zhí)行 /usr/local/php/bin/phpize 來準備一個編譯環(huán)境
    4. 配置: 加配置
       ./configure --with-php-config=/usr/local/php/bin/php-config

    5. make && make install 編譯和安裝

    6. 安裝成功后就會產(chǎn)生一個memcache.so文件
       /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/
    7. 修改php配置文件
       vim  /usr/local/php/etc/php.ini
       添加以下信息
       722行 extension_dir='/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/';
             extension="memcache.so";
    8. 重啟apache服務(wù)即可(查看phpinfo())

    2.2 #安裝memcache服務(wù)

       memcached-1.4.4-3.el6.i686.rpm

       a.首先掛載ISO鏡像文件  DVD1.ISO
               mount /dev/sr0 /mnt/cdrom/

       b.安裝memcached
               yum -y install memcached

       c.添加memcache用戶
               useradd memcache

       d.啟動memcache服務(wù)
               memcached -d -m 128 -l 127.0.0.1 -p 11211 -u memcache

            查看端口
            netstat –tunpl|grep :11211
            win+r打開命令行窗口  連接測試
            telnet 192.168.185.252 11211
          注意:
            如果輸入telnet命令的時候 出現(xiàn)telnet不是內(nèi)部命令
            windows系統(tǒng)->控制面板->程序和功能->打開和關(guān)閉Windows功能->勾選 telnet客戶端

            stats       memcache命令:查看當前狀態(tài)

        e.設(shè)置開機自啟動
               chkconfig memcached on

        f.如何殺掉后臺進程
             pkill memcached

Memcache相關(guān)操作

####stats 查看狀態(tài)
        STAT pid 1552                      服務(wù)進程的進程ID
        STAT uptime 3792                服務(wù)從啟動到當前所經(jīng)過的時間,單位是秒。
        STAT time 1262517674              服務(wù)器所在主機當前系統(tǒng)的時間,單位是秒。
        STAT version 1.2.6                   組件的版本。這里是我當前使用的1.2.6。
        STAT pointer_size 32             服務(wù)器所在主機操作系統(tǒng)的指針大小,一般為32或64.
        STAT curr_items 1                   表示存放當前的所有緩存對象的數(shù)量。不包括已經(jīng)從緩存中刪除的對象。
        STAT total_items 2                   表示從啟動到當前,系統(tǒng)存儲過的所有對象數(shù)量,包括已經(jīng)刪除的對象。
        STAT bytes 593                      表示系統(tǒng)存儲緩存對象所使用的存儲空間,單位為字節(jié)。
        STAT curr_connections 2           表示當前系統(tǒng)打開的連接數(shù)。
        STAT total_connections 28        表示從memcached服務(wù)啟動到當前時間,系統(tǒng)打開過的連接的總數(shù)。

set  寫入緩存
    set  鍵名  標記  有效時間  數(shù)據(jù)的長度

   set  love  10     0    10
   i love you
    鍵名
       大不能超過250個字符
     標記
     是一個16位的無符號的整數(shù),該標志將和需要存儲的數(shù)據(jù)一起存儲,并在客戶端get數(shù)據(jù)時返回
     有效時間
       單位為秒
     數(shù)據(jù)長度
       單位是字節(jié)
     數(shù)據(jù)的值
     大不能超過1024kb

get  獲取緩存
        get  鍵名
        get  love

####delete  刪除緩存
        delete   鍵名
        delete   love
        flush_all清空所有緩存

###PHP與Memcache的使用
    //實例化Memcache
    $memcache = new Memcache();

    //連接Memcache
    $memcache->connect('127.0.0.1','11211');
    $memcache->addServer('127.0.0.1','11211');

    //保存數(shù)據(jù)
    $memcache->set('name','xiaohigh',MEMCACHE_COMPRESSED,60);

    //獲取數(shù)據(jù)
    $memcache->get('name')

    //清除所有數(shù)據(jù)
    $memcache->flush();

###PHP Memcahe類
    connect(ip, port)         連接一臺memcache服務(wù)器
    addServer(ip, port)     添加一臺memcache服務(wù)器
    getExtendedStats()    獲取連接池中所有的服務(wù)器信息
    getServerStatus(host, port)        獲取指定服務(wù)器的連接狀態(tài)
    add(key, value, tag, expires)             添加一條數(shù)據(jù)
    replace(key, value, tag, expires)     修改一條數(shù)據(jù)
    set(key, value, tag, expires)             添加或修改一條數(shù)據(jù)
    get(key)     根據(jù)鍵獲取值
    delete(key) 刪除指定一條數(shù)據(jù)
    flush() 刪除全部
    close()  關(guān)閉連接
    getStats()     獲取memcache服務(wù)器信息  返回數(shù)組
    getVersion()     獲取m emcache服務(wù)器版本號

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當前題目:memcached快速入門-創(chuàng)新互聯(lián)
文章位置:http://muchs.cn/article16/pegdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司定制網(wǎng)站、企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化