blog.csdn.net/fdipzone/article/details/17933673#comments
特點:1.簡單易用。
2.處理速度快。
3.可建立多條佇列。
4.併發效能高。
5.與memcache協議相容。
memcacheq 依賴 berkeley db 和 libevent(1.4 或更高)。
berkeley db用於持久化儲存佇列資料,避免當memcacheq崩潰或伺服器宕機時發生資料丟失。
1.安裝berkeley db
[plain] view plain copy
在code上檢視**片派生到我的**片
$tar xvzf db-6.0.20.tar.gz
$cd db-6.0.20/
$cd build_unix/
$../dist/configure
$make
$sudo make install
2.安裝libevent
[plain] view plain copy
在code上檢視**片派生到我的**片
$tar xvzf libevent-2.0.21-stable.tar.gz
$cd libevent-2.0.21-stable
$./configure
$make
$sudo make install
增加兩行到 /etc/ld.so.conf
[plain] view plain copy
在code上檢視**片派生到我的**片
/usr/local/lib
/usr/local/berkeleydb.6.0/lib
新增完執行命令重新整理
[plain] view plain copy
在code上檢視**片派生到我的**片
sudo ldconfig
3.安裝memcacheq
建立libdb.so softlink
[plain] view plain copy
在code上檢視**片派生到我的**片
ln -s /usr/local/berkeleydb.6.0/lib/libdb-6.0.so /usr/lib/libdb.so
[plain] view plain copy
在code上檢視**片派生到我的**片
$tar xvzf memcacheq-0.2.x.tar.gz
$cd memcacheq-0.2.x
$./configure --with-bdb=/usr/local/berkeleydb.6.0 --with--libevent=/usr/lib --enable-threads
$make
$sudo make install
--with-bdb=/usr/local/berkeleydb.6.0 指定 berkeley db路徑
--with--libevent=/usr/lib 指定 libevent 路徑
--enable-threads 開啟多執行緒
4.執行與使用
引數列表:
[plain] view plain copy
在code上檢視**片派生到我的**片
-p tcp監聽埠(default: 22201)
-u udp監聽埠(default: 0, off)
-s unix socket路徑(不支援網路)
-a unix socket訪問掩碼(default 0700)
-l 監聽網絡卡
-d 守護程序
-r 最大化核心檔案限制
-u 以使用者身份執行(only when run as root)
-c 最大併發連線數(default is 1024)
-v 詳細輸出 (print errors/warnings while in event loop)
-vv 更詳細的輸出 (also print client commands/reponses)
-i 列印許可證資訊
-p pid檔案
-t 執行緒數(default 4)
--------------------berkeleydb options-------------------------------
-m berkeleydb記憶體快取大小, default is 64mb
-a 底層頁面大小, default is 4096, (512b ~ 64kb, power-of-two)
-h 資料庫家目錄, default is '/data1/memcacheq'
-l 日誌緩衝區大小, default is 32kb
-c 多少秒checkpoint一次, 0 for disable, default is 5 minutes
-t 多少秒memp_trickle一次, 0 for disable, default is 30 seconds
-s 多少秒queue stats dump一次, 0 for disable, default is 30 seconds
-e 達到快取百分之多少需要重新整理, default is 60%
-e 乙個單一的db檔案有多少頁, default is 16*1024, 0 for disable
-b 指定訊息體的長度,單位位元組, default is 1024
-d 多少毫秒做一次死鎖檢測(deadlock detecting), 0 for disable, default is 100ms
-n 開啟db_txn_nosync獲得巨大的效能改善, default is off
-r 自動刪除不再需要的日誌檔案, default is off
啟動memcacheq
[plain] view plain copy
在code上檢視**片派生到我的**片
memcacheq -d -r -h /data1/memcacheq -n -r -v -l 1024 -b 1024 > /data1/mq_error.log 2>&1
[plain] view plain copy
在code上檢視**片派生到我的**片
[php] view plain copy
在code上檢視**片派生到我的**片
<?php
/* 連線memcacheq server */
$memcache_obj = new memcache();
$memcache_obj->connect('localhost', 22201); // default port 22201
/* 新增到對列 */
$memcache_obj->set('demoqueue1', 'message body here1', memcache_compressed, 0);
$memcache_obj->set('demoqueue1', 'message body here2', memcache_compressed, 0);
$memcache_obj->set('demoqueue1', 'message body here3', memcache_compressed, 0);
$memcache_obj->set('demoqueue1', 'message body here4', memcache_compressed, 0);
/* 移出對列 */
echo $memcache_obj->get('demoqueue1').'
';
echo $memcache_obj->get('demoqueue1').'
';
echo $memcache_obj->get('demoqueue1').'
';
echo $memcache_obj->get('demoqueue1').'
';
$memcache_obj->close();
?>
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...
MemcacheQ安裝及使用
一.安裝 memcacheq 是乙個簡單的分布式佇列服務,它的執行依賴於berkeleydb 和 libevent,所以需要先安裝berkeleydb和libevent.download from how to install berkeleydb tar xvzf db 5.3.21.tar.gz...
MemcacheQ安裝及使用
一.memcacheq安裝記錄 解壓.configure prefix usr local memcacheq enable threads make make install 二.memcacheq啟動 1.啟動 usr local memcacheq bin memcacheq d r uroo...