PHP結合memcacheq訊息佇列解決併發問題

2021-07-22 06:34:57 字數 1410 閱讀 1397

安裝步驟:

tar zxvf libevent-1.4.14b-stable.tar.gz

cd libevent-1.4.14b-stable

./configure

make

make install

ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2

cd ..

tar zxvf db-5.0.21.tar.gz

cd db-5.0.21/build_unix/

../dist/configure

make

make install

vi /etc/ld.so.conf

加入以下兩行

/usr/local/lib

/usr/local/berkeleydb.5.0/lib

執行ldconfig

cd ../../

tar zxvf memcacheq-0.2.0.tar.gz

cd memcacheq-0.2.0

./configure --with-bdb=/usr/local/berkeleydb.5.0 --with-libevent=/usr/local/lib --enable-threads

make

make install

啟動前確定一下 日誌目錄是否存在  如果不存在需要手動建立

memcacheq -d -r -uroot -p22201 -h /data0/memcacheq -n -v -l 1024 -b 1024 > /data0/mq_error.log 2>&1

引數說明: 

-d : 以後臺服務方式執行 

-l :  設定監聽位址及埠(預設埠是22201) 

-a : 資料頁大小 

-h : 資料儲存目錄 一定要存在 

-b : 佇列中每條資料的最大長度(位元組) 

-n : 使用記憶體緩衝方式儲存資料至磁碟,從而獲得極高效能。若無此引數,效能會很差 

-r : 自動清理過期的日誌 -u : 設定memcacheq程序賬號

php**示例:

$memcache_obj 

= new 

memcache

;$memcache_obj

->

connect

('192.168.1.106'

, 22201

);$memcache_obj

->

set(

'a',

time

(),0,0

);//入棧

echo 

$memcache_obj

->

get(

'a');      

//出棧

php訊息佇列MemcacheQ 安裝與使用

php訊息佇列memcacheq 安裝與使用 特點 1.簡單易用。2.處理速度快。3.可建立多條佇列。4.併發效能高。5.與memcache協議相容。memcacheq 依賴 berkeley db 和 libevent 1.4 或更高 berkeley db用於持久化儲存佇列資料,避免當memca...

PHP 結合例項認識 Socket

本部分參考自 揭開socket的神秘面紗 原始碼工作室 請結合下圖 socket 抽象層的位置來理解。socket 是應用層和 tcp ip 協議族進行通訊的中間軟體抽象層,是一組介面。在設計模式中,就是乙個門面模式,它把複雜的實現封裝在介面後面,而只提供了一組簡單的介面給使用者呼叫。在普遍的程式語...

結合PHP使用HTML表單(2)

清單2 中的表示法當然是方便的,但它僅在 php 偽指令 register globals 被設定為 on 時才可用。在版本 4.2 以前,這是預設設定,許多 php 開發人員甚至沒有意識到有這樣的問題。然而,從版本 4.2 開始,register globals 的預設設定是 off,在此情況下,...