日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
CentOS6.8源碼安裝Memcached

1.  背景

成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)為企業(yè)提供遷西網(wǎng)站建設(shè)、遷西做網(wǎng)站、遷西網(wǎng)站設(shè)計(jì)、遷西網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、遷西企業(yè)網(wǎng)站模板建站服務(wù),10年遷西做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

      許多web 應(yīng)用程序都將數(shù)據(jù)保存到RDBMS中,應(yīng)用服務(wù)器從中讀取數(shù)據(jù)并在瀏覽器中顯示。但隨著數(shù)據(jù)量的增大,訪問(wèn)的集中,就會(huì)出現(xiàn)REBMS的負(fù)擔(dān)加重,數(shù)據(jù)庫(kù)響應(yīng)惡化,網(wǎng)站顯示延遲等重大影響。Memcached是高性能的分布式內(nèi)存緩存服務(wù)器。一般的使用目的是通過(guò)緩存數(shù)據(jù)庫(kù)查詢(xún)結(jié)果,減少數(shù)據(jù)庫(kù)的訪問(wèn)次數(shù),以提高動(dòng)態(tài)Web 應(yīng)用的速度、提高擴(kuò)展性。如圖:



 

Memcached作為高速運(yùn)行的分布式緩存服務(wù)器具有以下特點(diǎn)。

1.  協(xié)議簡(jiǎn)單

        memcached的服務(wù)器客戶端通信并不使用復(fù)雜的MXL等格式,而是使用簡(jiǎn)單的基于文本的協(xié)議。

 

2.  基于libevent的事件處理

     libevent是個(gè)程序庫(kù),他將Linux 的epoll、BSD類(lèi)操作系統(tǒng)的kqueue等時(shí)間處理功能封裝成統(tǒng)一的接口。memcached使用這個(gè)libevent庫(kù),因此能在Linux、BSD、Solaris等操作系統(tǒng)上發(fā)揮其高性能。

 

3.  內(nèi)置內(nèi)存存儲(chǔ)方式

       為了提高性能,memcached中保存的數(shù)據(jù)都存儲(chǔ)在memcached內(nèi)置的內(nèi)存存儲(chǔ)空間中。由于數(shù)據(jù)僅存在于內(nèi)存中,因此重啟memcached,重啟操作系統(tǒng)會(huì)導(dǎo)致全部數(shù)據(jù)消失。另外,內(nèi)容容量達(dá)到指定的值之后memcached回自動(dòng)刪除不適用的緩存。

 

4. Memcached不互通信的分布式

       memcached盡管是“分布式”緩存服務(wù)器,但服務(wù)器端并沒(méi)有分布式功能。各個(gè)memcached不會(huì)互相通信以共享信息。他的分布式主要是通過(guò)客戶端實(shí)現(xiàn)的。

 

5.  Memcached的內(nèi)存管理

      最近的memcached默認(rèn)情況下采用了名為Slab Allocatoion的機(jī)制分配,管理內(nèi)存。在改機(jī)制出現(xiàn)以前,內(nèi)存的分配是通過(guò)對(duì)所有記錄簡(jiǎn)單地進(jìn)行malloc和free來(lái)進(jìn)行的。但是這中方式會(huì)導(dǎo)致內(nèi)存碎片,加重操作系統(tǒng)內(nèi)存管理器的負(fù)擔(dān)。

    Slab Allocator的基本原理是按照預(yù)先規(guī)定的大小,將分配的內(nèi)存分割成特定長(zhǎng)度的塊,已完全解決內(nèi)存碎片問(wèn)題。Slab Allocation  的原理相當(dāng)簡(jiǎn)單。將分配的內(nèi)存分割成各種尺寸的塊(chucnk),并把尺寸相同的塊分成組(chucnk的集合)如圖:

       而且slab allocator 還有重復(fù)使用已分配內(nèi)存的目的。也就是說(shuō),分配到的內(nèi)存不會(huì)釋放,而是重復(fù)利用。

    Slab Allocation 的主要術(shù)語(yǔ)

        Page :分配給Slab 的內(nèi)存空間,默認(rèn)是1MB。分配給Slab 之后根據(jù)slab 的大小切分成chunk.

        Chunk : 用于緩存記錄的內(nèi)存空間。

        Slab Class:特定大小的chunk 的組。 

2.  環(huán)境

 

3.  安裝(下載源碼包全部放至/usr/local/src目錄下,先cd切換到/usr/local/src目錄下工作)

  • 安裝libevent(memcache網(wǎng)絡(luò)庫(kù)部分基于libevent庫(kù)開(kāi)發(fā),解決了不同平臺(tái)的差異性)

    • 下載:wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz

    • 解壓: tar xf libevent-2.1.8-stable.tar.gz 

    • 進(jìn)入目錄: cd libevent-2.1.8-stable

    • 安裝: ./configure --prefix=/usr/local/libevent-2.1.8 && make && make install

    • 做軟鏈接 ln -s /usr/local/libevent-2.1.8 /usr/local/libevent

  • 安裝memcached

    • 下載: wget http://www.memcached.org/files/memcached-1.4.35.tar.gz

    • 解壓: tar xf memcached-1.4.35.tar.gz

    • 進(jìn)入目錄: cd memcached-1.4.35

    • 編譯安裝:./configure --prefix=/usr/local/memcached-1.4.35 --with-libevent=/usr/local/libevent && make && make install

    • 做軟鏈接: ln -s /usr/local/memcached-1.4.35 /usr/local/memcached

       

  • 創(chuàng)建系統(tǒng)用戶, 并且不創(chuàng)建家目錄

    • useradd -r -s /sbin/nologin -M memcached

 

  • 編輯并添加memcached啟動(dòng)腳本(當(dāng)前路徑還在memcached-1.4.35源碼包目錄里)

    • 進(jìn)入腳本目錄: cd scripts

    • 復(fù)制腳本至init.d目錄下: cp memcached.sysv /etc/init.d/memcached

    • 創(chuàng)建memcached運(yùn)行目錄, 并改變其用戶與用戶組為memcached

      • mkdir /var/run/memcached

      • chown memcached.memcached /var/run/memcached

    • 編輯腳本: (/etc/init.d/memcached)

      • daemon memcached -d -p $PORT -u $USER  -m $CACHESIZE -c $MAXCONN -P /var/run/memcached/memcached.pid $OPTIONS 改為 daemon /usr/local/memcached/bin/memcached -d -p $PORT -u $USER  -m $CACHESIZE -c $MAXCONN -P /var/run/memcached/memcached.pid $OPTIONS

         

    • (可選)刪除腳本中以下內(nèi)容

                PORT=11211

                USER=nobody

                MAXCONN=1024

                CACHESIZE=64

                OPTIONS=""

 

    • 創(chuàng)建參數(shù)腳本并添加參數(shù)

      • 創(chuàng)建touch /etc/sysconfig/memcached

      • 更改用戶與用戶組 chown memcached.memcached /etc/sysconfig/memcached

      • 添加內(nèi)容 

                     PORT=11211

                USER=memcached

                MAXCONN=1024

                CACHESIZE=64

                OPTIONS="-l 0.0.0.0,::1"

 

    •  將memcached添加進(jìn)service管理,并開(kāi)機(jī)啟動(dòng)

      • chkconfig --add memcached

      • chkconfig memcached on

         

4.  測(cè)試

  • 啟動(dòng): /etc/init.d/memcached start 或者 service memcached start

啟動(dòng)成功

 

5.  連接(通過(guò)telnet測(cè)試連接)

telnet 127.0.0.1 11211


網(wǎng)站名稱(chēng):CentOS6.8源碼安裝Memcached
文章分享:http://www.dlmjj.cn/article/codssdj.html