摘要:二實(shí)現(xiàn)步驟新建數(shù)據(jù)庫(kù)及數(shù)據(jù)表,建表語(yǔ)句如下在中新建內(nèi)容如下,并配置虛擬主機(jī)使其可訪問(wèn)到。
一、實(shí)驗(yàn)環(huán)境
ubuntu、php、apache或nginx、mysql
二、需求
現(xiàn)在有一個(gè)接口可能會(huì)出現(xiàn)并發(fā)量比較大的情況,這個(gè)接口使用php寫的,做的功能是接收 用戶的GET請(qǐng)求中的name字段,然后將這個(gè)字段存到mysql中,現(xiàn)在先將數(shù)據(jù)放到redis的隊(duì)列中,然后讓redis定時(shí)將這些數(shù)據(jù)轉(zhuǎn)移到mysql中。
二、實(shí)現(xiàn)步驟
1.新建數(shù)據(jù)庫(kù)test及 數(shù)據(jù)表test,建表語(yǔ)句如下
CREATE TABLE `test` ( `name` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf-8
1.在/var/www/test中新建index.php,內(nèi)容如下,并配置虛擬主機(jī)使其可訪問(wèn)到。
connect("127.0.0.1", 6379); try { $res = $redis->LPUSH("name", $_REQUEST["name"]); } catch (Exception $e) { echo $e->getMessage(); }
2.在相同的目錄下新建redis.php文件,注意修改其中的數(shù)據(jù)庫(kù)密碼等配置,內(nèi)容如下
pconnect("127.0.0.1",6379); $mysql=mysqli_connect("localhost","root","bnm"); mysqli_select_db($mysql,"test") or die("不能選擇數(shù)據(jù)庫(kù)"); if(!$mysql){ die("連接失敗"); } while (true){ try{ $value = $redis->LPOP("name"); if(!$value){ echo "等待"; }else{ $sql="insert into test(name) values ("".$value."")"; $result=mysqli_query($mysql,$sql); if($result&&mysqli_affected_rows($mysql)>0){ echo "插入成功"; }else{ echo "插入失敗:".mysqli_error($mysql); } } }catch(Exception $e){ echo $e->getMessage(); } sleep(1); }
3.運(yùn)行redis.php腳本文件
nohup php redis.php &
4.訪問(wèn)index.php腳本文件,如:http://192.168.116.128/?name=33,然后查看數(shù)據(jù)是否已經(jīng)到mysql中。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/29172.html
摘要:獲取消息隊(duì)列中的腳本,拼接,批量入庫(kù)。批量入庫(kù)腳本天級(jí)統(tǒng)計(jì)腳本總結(jié)相對(duì)于其他復(fù)雜的方式處理高并發(fā),這個(gè)解決方案簡(jiǎn)單有效通過(guò)緩存抗壓,批量入庫(kù)解決數(shù)據(jù)庫(kù)瓶頸,離線計(jì)算解決統(tǒng)計(jì)數(shù)據(jù),通過(guò)定期清理保證庫(kù)的大小。 需求背景:有個(gè)調(diào)用統(tǒng)計(jì)日志存儲(chǔ)和統(tǒng)計(jì)需求,要求存儲(chǔ)到mysql中;存儲(chǔ)數(shù)據(jù)高峰能達(dá)到日均千萬(wàn),瓶頸在于直接入庫(kù)并發(fā)太高,可能會(huì)把mysql干垮。 問(wèn)題分析 思考:應(yīng)用網(wǎng)站架構(gòu)的衍化過(guò)...
摘要:質(zhì)量高在設(shè)計(jì)時(shí),可重用現(xiàn)有的,在以前的項(xiàng)目的領(lǐng)域中已被測(cè)試過(guò)的類使系統(tǒng)滿足業(yè)務(wù)需求并具有較高的質(zhì)量。代碼塊捕獲異常,并創(chuàng)建一個(gè)包含異常信息的對(duì)象。這樣可以解決超賣的問(wèn)題,但是會(huì)導(dǎo)致文件得開銷很大。 6.你們公司是使用什么框架? 答:我們公司采用的是TP框架,運(yùn)用的mysql+apache+php進(jìn)行開發(fā),因?yàn)門P框架是一個(gè)免費(fèi)開源的,輕量級(jí)的php開發(fā)框架,而且是我們中國(guó)人自己開發(fā)的,...
閱讀 3162·2021-02-22 17:12
閱讀 801·2019-08-30 15:55
閱讀 3254·2019-08-30 15:54
閱讀 1450·2019-08-29 16:56
閱讀 1929·2019-08-29 15:13
閱讀 1786·2019-08-29 13:19
閱讀 669·2019-08-26 13:40
閱讀 2885·2019-08-26 10:26