MemcacheQ安裝及使用

2021-06-12 04:36:00 字數 3331 閱讀 6393

一. 安裝

memcacheq 是乙個簡單的分布式佇列服務,它的執行依賴於berkeleydb 和 libevent,所以需要先安裝berkeleydb和libevent.

download from <>

how to install berkeleydb:

$tar -xvzf db-5.3.21.tar.gz

$cd db-5.3.21/

$cd build_unix/

$../dist/configure

$make

$make install

安裝berkeleydb時,可以手動指定安裝路徑:../dist/configure --prefix=/usr/local/berkeleydb

不指定的話,預設安裝在:/usr/local/berkeleydb.5.3

先檢查libevent 是否已經安裝:

#rpm -qa|grep libevent

libevent-devel-2.0.10-2.fc15.x86_64

libevent-2.0.10-2.fc15.x86_64

libevent-2.0.10-2.fc15.i686

或者:ls -al /usr/lib |grep libevent

如果還沒有安裝:

download from <>

how to install libevent:

$tar -xvzf libevent-1.4.x-stable.tar.gz

$cd libevent-1.4.x-stable

$./configure

$make

$make install

安裝libevent時,可以手動指定安裝路徑:./configure --prefix=/usr/local/libevent
不指定的話,預設安裝在:/usr/lib64(64位系統)或者/usr/lib(32位系統)

解壓縮,cd進目錄

./configure   --enable-threads

make

make install

configure 時,如果libevent 不是安裝在預設目錄,需--with--libevent=/usr/local/libevent指定libevent的安裝目錄

若沒有將

/usr/local/lib

/usr/local/berkeleydb.5.3/lib

新增進/etc/ld.so.conf 並執行 /sbin/ldconfig 則需--with-bdb=/usr/local/berkeleydb.5.3 指定berkeleydb庫的路徑

二.使用

使用memcacheq -h 的命令來檢視命令列選項

啟動memcacheq:memcacheq -d -u nobody -r -h /tmp/memcacheq -n -r -v -l 1024 -b 1024 > /tmp/mq_error.log 2>&1

啟動時需-u 引數,指定執行memcacheq的使用者,且指定的使用者必須有資料檔案的讀寫許可權,如這裡的/tmp/memcacheq目錄,否則不能啟動

命令列使用memcacheq

telnet 127.0.0.1 22202

trying 127.0.0.1…

connected to 127.0.0.1.

escape character is 『^]』.

只有兩個命令可以在命令列下使用memcacheq

寫對列:

set 0 \r\n

\r\n

stored\r\n

取出佇列:

get \r\n

value \r\n

\r\n

end\r\n

與memcache協議基本一致,只是把key name換成queue name,而且在set的命令中,忽略了expire_time的引數。mq的資料儲存是存在berkeleydb中,做了持久化儲存,沒有記憶體的過期時間。

示例:

telnet 127.0.0.1 22202

trying 127.0.0.1…

connected to 127.0.0.1.

escape character is 『^]』.

set q4 0 0 5

hello

stored

set q4 0 0 5

world

stored

stats queue

stat q4 2/0

endget q4

value q4 0 5

hello

endstats queue

stat q4 2/1

end

三.安裝使用過程中可能出現的錯誤

1.編譯出現錯誤:checking for library containing db_create... no

configure: error: cannot find libdb.so in /usr/local/berkeleydb.5.3/lib

需要修改 configure 中的berkeleydb中的預編譯引數vim configure找到bdbdir="/usr/local/berkeleydb"改為

bdbdir="/usr/local/berkeleydb.5.3"再次編譯

2.configure: error: cannot find libdb.so in /usr/local/berkeleydb.5.3/lib

出現此錯誤的原因在於沒有安裝berkyleydb,安裝即可

3./usr/local/memcacheq/bin/memcachq -h

執行報:

memcacheq: error while loading shared libraries: libdb-5.3.so: cannot open shared object file: no such file or directory

解決方法:ln -s /usr/local/berkeleydb.5.3/lib/libdb-5.3.so /usr/lib/libdb-5.3.so

注:在64位作業系統中,需執行

ln -s /usr/local/berkeleydb.5.3/lib/libdb-5.3.so /usr/lib64/libdb-5.3.so

本文參考**:

官方**:

MemcacheQ安裝及使用

一.memcacheq安裝記錄 解壓.configure prefix usr local memcacheq enable threads make make install 二.memcacheq啟動 1.啟動 usr local memcacheq bin memcacheq d r uroo...

MemcacheQ 安裝與使用

blog.csdn.net fdipzone article details 17933673 comments 特點 1.簡單易用。2.處理速度快。3.可建立多條佇列。4.併發效能高。5.與memcache協議相容。memcacheq 依賴 berkeley db 和 libevent 1.4 或...

MAC 安裝MemcacheQ 安裝與使用

1.brew install libevent 2.brew install berkeley db 2.安裝memcacheq wget tar zxvf db 4.7.25.nc.tar.gz cd db 4.7.25.nc cd build unix dist configure make m...