一. 安裝
memcacheq 是乙個簡單的分布式佇列服務,它的執行依賴於berkeleydb 和 libevent,所以需要先安裝berkeleydb和libevent.
download from <>
how to install berkeleydb:
$tar -xvzf db-5.3.21.tar.gz不指定的話,預設安裝在:/usr/local/berkeleydb.5.3$cd db-5.3.21/
$cd build_unix/
$../dist/configure
$make
$make install
安裝berkeleydb時,可以手動指定安裝路徑:../dist/configure --prefix=/usr/local/berkeleydb
先檢查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\nvalue \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...