那你可以在插入數(shù)據(jù)庫那里設(shè)置監(jiān)聽呀,一有插入就往Android推送消息。
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括昭陽網(wǎng)站建設(shè)、昭陽網(wǎng)站制作、昭陽網(wǎng)頁制作以及昭陽網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,昭陽網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到昭陽省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
不然你只能通過每隔一段時(shí)間刷新一下讀取數(shù)據(jù)庫,看看有沒有更新,有就推送,沒有就繼續(xù)監(jiān)聽,這個(gè)你可以自己設(shè)置更新時(shí)間。
最好的辦法是,在應(yīng)用程序生命周期內(nèi),對(duì)于數(shù)據(jù)庫設(shè)置有事件鉤子,用于監(jiān)聽程序?qū)τ跀?shù)據(jù)庫的操作。這樣非常方便處理邏輯流程。
1 - 表的數(shù)據(jù)變化
表數(shù)據(jù)發(fā)生了變化,毫無疑問是寫操作,包括以下幾種情形:
新建條目 create
更新條目 update
刪除條目 delete
以上三種都是寫操作,會(huì)對(duì)表數(shù)據(jù)寫入。
2 - 事件鉤子
既然需要實(shí)時(shí)監(jiān)控,那么每個(gè)數(shù)據(jù)庫的操作,都需要考慮在內(nèi),這是全局的監(jiān)聽。
以laravel的Eloquent ORM 模型觸發(fā)事件,允許你掛接到模型生命周期的如下節(jié)點(diǎn): retrieved、creating、created、updating、updated、saving、saved、deleting、deleted、restoring 和 restored。事件允許你每當(dāng)特定模型保存或更新數(shù)據(jù)庫時(shí)執(zhí)行代碼。每個(gè)事件通過其構(gòu)造器接受模型實(shí)例。
模型內(nèi)添加事件監(jiān)聽鉤子
如果重用率很高,那么使用觀察者 Observer 方式進(jìn)行監(jiān)聽更為高效。
Laravel Observer
結(jié)語
上面的方法要求讀者有l(wèi)aravel框架的使用基礎(chǔ),對(duì)于構(gòu)建中大型應(yīng)用非常有利。
樓上說的還是要定時(shí)檢測(cè)
不論怎么做,繞來繞去都是一樣的,都是需要定時(shí)檢測(cè)。
Ajax 控制一個(gè)異步PHP程序來檢測(cè)數(shù)據(jù)庫,然后返回值,供調(diào)用。
本文實(shí)例講述了php使用mysqli和pdo擴(kuò)展,測(cè)試對(duì)比mysql數(shù)據(jù)庫的執(zhí)行效率。分享給大家供大家參考,具體如下:
?php
/**
*
測(cè)試pdo和mysqli的執(zhí)行效率
*/
header("Content-type:text/html;charset=utf-8");
//通過pdo鏈接數(shù)據(jù)庫
$pdo_startTime
=
microtime(true);
$pdo
=
new
PDO("mysql:host=localhost;dbname=test","root","1234",array(PDO::MYSQL_ATTR_INIT_COMMAND
=
"SET
NAMES'utf8';"));
for($i=1;$i=100;$i++){
$title
=
"pdo標(biāo)題".$i;
$content
=
"pdo內(nèi)容".$i;
$addtime
=
time();
$user_id
=
$i;
$pdo_sql
=
"INSERT
INTO
`article`(`title`,`content`,`addtime`,`user_id`)
VALUES(:title,:content,:addtime,:user_id)";
$sth
=
$pdo-prepare($pdo_sql);
$sth-bindParam(':title',$title);
$sth-bindParam(':content',$content);
$sth-bindParam(':addtime',$addtime);
$sth-bindParam(':user_id',$user_id);
$sth-execute();
}
$pdo_endTime
=
microtime(true);
$pdo_time
=
$pdo_endTime
-
$pdo_startTime;
echo
$pdo_time;
echo
"hr/";
//通過mysql鏈接數(shù)據(jù)庫
$mysqli_startTime
=
microtime(true);
$mysqli
=
mysqli_connect("localhost","root","1234","test")
or
die("數(shù)據(jù)連接失敗");
mysqli_query($mysqli,"set
names
utf8");
for($i=1;$i=100;$i++){
$title
=
"mysqli標(biāo)題".$i;
$content
=
"mysqli內(nèi)容".$i;
$addtime
=
time();
$user_id
=
$i;
$sql
=
"INSERT
INTO
`article`(`title`,`content`,`addtime`,`user_id`)
VALUES('".$title."','".$content."',".$addtime.",".$user_id.")";
mysqli_query($mysqli,$sql);
}
$mysqli_endTime
=
microtime(true);
$mysqli_time
=
$mysqli_endTime
-
$mysqli_startTime;
echo
$mysqli_time;
echo
"hr/";
if($pdo_time
$mysqli_time){
echo
"pdo的執(zhí)行時(shí)間是mysqli的".round($pdo_time/$mysqli_time)."倍";
}else{
echo
"mysqli的執(zhí)行時(shí)間是pdo的".round($mysqli_time/$pdo_time)."倍";
}
測(cè)試結(jié)果:其實(shí)經(jīng)過多次測(cè)試,pdo和mysqli的執(zhí)行效率差不多。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《php+mysqli數(shù)據(jù)庫程序設(shè)計(jì)技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:php使用mysqli和pdo擴(kuò)展,測(cè)試對(duì)比連接mysql數(shù)據(jù)庫的效率完整示例php中數(shù)據(jù)庫連接方式pdo和mysqli對(duì)比分析php中關(guān)于mysqli和mysql區(qū)別的一些知識(shí)點(diǎn)分析php操作mysqli(示例代碼)php封裝的mysqli類完整實(shí)例PHP以mysqli方式連接類完整代碼實(shí)例php簡(jiǎn)單解析mysqli查詢結(jié)果的方法(2種方法)php中mysql連接方式PDO使用詳解Php中用PDO查詢Mysql來避免SQL注入風(fēng)險(xiǎn)的方法php
mysql
PDO
查詢操作的實(shí)例詳解PHP實(shí)現(xiàn)PDO的mysql數(shù)據(jù)庫操作類