溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MemcacheQ在Linux系統(tǒng)下的編譯安裝步驟

發(fā)布時間:2021-08-03 10:35:49 來源:億速云 閱讀:125 作者:chen 欄目:系統(tǒng)運維

這篇文章主要介紹“MemcacheQ在Linux系統(tǒng)下的編譯安裝步驟”,在日常操作中,相信很多人在MemcacheQ在Linux系統(tǒng)下的編譯安裝步驟問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MemcacheQ在Linux系統(tǒng)下的編譯安裝步驟”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

  MemcacheQ作為簡單的分布式隊列服務(wù),因為對MemcacheQ不了解,不少人在MemcacheQ的安裝上遇到了不少麻煩,小編就為大家詳細介紹下MemcacheQ在Linux系統(tǒng)下的編譯安裝,以便大家有更詳細的了解。

  隊列(Queue)是一種常用的數(shù)據(jù)結(jié)構(gòu)。在隊列這種數(shù)據(jù)結(jié)構(gòu)中,最先插入的元素將會最先被取出;反之最后插入的元素將會最后被取出,因此隊列又稱為“先進先出”(FIFO:First In First Out)的線性表。

  加入元素的一端叫“隊尾”,取出元素的一端叫“隊頭”。利用消息隊列可以很好地異步處理數(shù)據(jù)的傳送和存儲,當(dāng)遇到頻繁且密集地向后端數(shù)據(jù)庫中插入數(shù)據(jù)時,就可采用消息隊列來異步處理這些數(shù)據(jù)寫入。

  MemcacheQ是一款基于Memcache協(xié)議的開源消息隊列服務(wù)軟件,由于其遵循了Memcache協(xié)議,因此開發(fā)成本很低,不需要學(xué)習(xí)額外的知識便可輕松掌握。

  在最近的一個項目中也應(yīng)用了MemcacheQ,下面我將分享一下MemcacheQ在Linux中的編譯和安裝過程。

  首先,MemcacheQ依賴于BerkeleyDB和Libevent,如果服務(wù)器中曾經(jīng)安裝過Memcached,那么Libevent應(yīng)該已經(jīng)存在了,否則就需要先下載安裝Libevent。

  下載鏈接如下:

  Libevent:https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

  Berkeley DB:http://download.oracle.com/otn/berkeley-db/db-6.0.30.tar.gz

  MemcacheQ:https://github.com/stvchu/memcacheq

  安裝Libevent

  tar zvxf libevent-2.0.21-stable.tar.gz

  cd libevent-2.0.21-stable

  。/configure --prefix=/usr/local/libevent

  make && make install

  echo “/usr/local/libevent/lib” 》》 /etc/ld.so.conf

  ldconfig

  安裝BerkeleyDB

  BerkeleyDB簡介:BerkeleyDB是一個開源的文件數(shù)據(jù)庫,介于關(guān)系數(shù)據(jù)庫與內(nèi)存數(shù)據(jù)庫之間,使用方式與內(nèi)存數(shù)據(jù)庫類似,它提供的是一系列直接訪問數(shù)據(jù)庫的函數(shù),而不是像關(guān)系數(shù)據(jù)庫那樣需要網(wǎng)絡(luò)通訊、SQL解析等步驟。

  MemcacheQ依賴BerkleyDB用于隊列數(shù)據(jù)的持久化存儲,以免在MemcacheQ意外崩潰或中斷時,隊列數(shù)據(jù)不會丟失。

  tar zxvf db-6.0.30.tar.gz

  cd db-6.0.30/build_unix

  。。/dist/configure --prefix=/usr/local/berkeleydb

  make && make install

  ln -s /usr/local/berkeleydb/lib/libdb-6.0.so /usr/lib/

  echo “/usr/local/berkeleydb/lib/” 》》 /etc/ld.so.conf

  ldconfig

  安裝MemcacheQ

  tar zxvf memcacheq-0.2.0.tar.gz

  cd memcacheq-0.2.0

  。/configure --prefix=/usr/local/memcacheq --with-bdb=/usr/local/berkeleydb --with-libevent=/usr/local/libevent --enable-threads

  make && make install 

  啟動MemcacheQ

  Shell

  /usr/local/memcacheq/bin/memcacheq -d -uroot -r -l 127.0.0.1 -p11210 -H /usr/local/mcq -N -R -v -L 1024 -B 1024 》 /usr/local/mcq/logs/mcq_error.log 2》&1

  附:MemcacheQ參數(shù)

  -p 《num》 TCP監(jiān)聽端口(default: 22201)

  -U 《num》 UDP監(jiān)聽端口(default: 0, off)

  -s 《file》 unix socket路徑(不支持網(wǎng)絡(luò))

  -a 《mask》 unix socket訪問掩碼(default 0700)

  -l 《ip_addr》 監(jiān)聽網(wǎng)卡

  -d 守護進程

  -r 最大化核心文件限制

  -u 《username》 以用戶身份運行(only when run as root)

  -c 《num》 最大并發(fā)連接數(shù)(default is 1024)

  -v 詳細輸出 (print errors/warnings while in event loop)

  -vv 更詳細的輸出 (also print client commands/reponses)

  -i 打印許可證信息

  -P 《file》 PID文件

  -t 《num》 線程數(shù)(default 4)

  用PHP測試一下

  PHP

  《?php

  $mcq = new Memcache;

  $mcq-》connect(‘127.0.0.1’, 11210) or die (‘Connect Error!’);

  for ($i=1; $i《=5; $i++) {

  memcache_set($mcq, ‘k’, $i, 0, 0);

  }

  for ($i=1; $i《=6; $i++) {

  $queue = memcache_get($mcq, ‘k’);

  if ($queue === false) {

  echo “null\n”;

  } else {

  echo $queue.“\n”;

  }

  }

  memcache_close($mcq);

  ?》

到此,關(guān)于“MemcacheQ在Linux系統(tǒng)下的編譯安裝步驟”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI