国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP結合memcacheq消息隊列解決并發問題

2019-11-06 08:26:49
字體:
來源:轉載
供稿:網友

        在處理業務邏輯時有可能遇到高并發問題,例如商城秒殺、微博評論等。如果不做任何措施可能在高瞬間造成服務器癱瘓,如何解決這個問題呢?隊列是個不錯的選擇。隊列(Queue)又稱先進先出(First In First Out)利用消息隊列可以很好地異步處理數據傳送和存儲,當你向數據庫中寫入數據就可采取消息隊列來異步插入。只要有并發限制的地方基本都可以使用隊列來解決。這里先重點介紹一下memcacheq。

    持久化消息隊列memcacheq是一個輕量級的消息隊列。依附于Berkeley DB和libevent。Berkeley DB用于持久化存儲隊列的數據,避免在memcacheq出問題時造成數據喪失。接下來看一下安裝過程,首先下載libevent-1.4X***、BerkeleyDB5.0、memcacheq-0.2.0,下載地址:

    http://monkey.org/~PRovos/libevent/

    http://download.Oracle.com/berkeley-db/db-5.0.21.tar.gz

    http://code.google.com/p/memcacheq/downloads/list

安裝步驟:

    tar zxvf libevent-1.4.14b-stable.tar.gzcd libevent-1.4.14b-stable./configuremakemake installln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2cd ..tar zxvf db-5.0.21.tar.gz cd db-5.0.21/build_unix/../dist/configuremakemake installvi /etc/ld.so.conf加入以下兩行/usr/local/lib/usr/local/BerkeleyDB.5.0/lib執行ldconfigcd ../../ tar zxvf memcacheq-0.2.0.tar.gzcd memcacheq-0.2.0./configure --with-bdb=/usr/local/BerkeleyDB.5.0 --with-libevent=/usr/local/lib --enable-threadsmakemake 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');      //出棧
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 读书| 肃北| 孙吴县| 酒泉市| 乌鲁木齐市| 湛江市| 合山市| 曲松县| 朝阳市| 汝州市| 嘉祥县| 赣榆县| 丰县| 运城市| 托里县| 阿巴嘎旗| 扬中市| 阿图什市| 阜平县| 四子王旗| 阳谷县| 浪卡子县| 同德县| 卫辉市| 潢川县| 余江县| 甘孜| 奈曼旗| 焦作市| 大同县| 桃园县| 丹江口市| 禄劝| 松滋市| 石楼县| 尼木县| 望都县| 望都县| 澄城县| 理塘县| 儋州市|