将请求存入redis
当用户点击按钮时,我们通过ajax将请求发给php进行处理,前台返回给用户正在处理的提示(当然,这种提示让设计师设计出让用户满意的效果)。$redis = new Redis();
$redis->connect('127.0.0.1',6379);
try{
$redis->LPUSH('click',$user_id);
}catch(Exception $e){
echo $e->getMessage();
}在后台进行数据处理
从redis中将请求取出$redis = new Redis();
$redis->pconnect('127.0.0.1',6379);
while(True){
try{
$value = $redis->LPOP('click');
/*
* 利用$value进行逻辑和数据处理
*/
}catch(Exception $e){
echo $e->getMessage();
}
}数据处理:长连接与事件
为了保证数据处理正常进行,必须和数据库之间建立长连接,因此上面我们采用了pconnect。在于mysql连接时,也要采用长连接,保证数据处理的有效性。同时,由于在后台运行,我们不可能随时获取数据库操作的状态,因此,我们最好采用innodb引擎,对数据库操作事件进行监听,如果出现了异常,要对事件结果进行检查,如果数据插入失败,应该重新执行该事件。
本文由 舒舒 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Mar 16, 2017 at 03:08 pm