日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

1.  背景

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

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



 

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

1.  協(xié)議簡單

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

 

2.  基于libevent的事件處理

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

 

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

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

 

4. Memcached不互通信的分布式

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

 

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

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

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

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

    Slab Allocation 的主要術(shù)語

        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ò)庫部分基于libevent庫開發(fā),解決了不同平臺的差異性)

    • 下載: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)前路徑還在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管理,并開機(jī)啟動

      • chkconfig --add memcached

      • chkconfig memcached on

         

4.  測試

  • 啟動: /etc/init.d/memcached start 或者 service memcached start

啟動成功

 

5.  連接(通過telnet測試連接)

telnet 127.0.0.1 11211


本文名稱:CentOS6.8源碼安裝Memcached
URL網(wǎng)址:http://m.5511xx.com/article/codssdj.html