小螞蟻學習APP接口開發(8)—— APP接口實例——服務器定時緩存的方式開發接口

基本的思路:服務器只負責定時更新緩存。請求進來只須要讀取緩存就能夠了。php

服務器定時執行生成緩存的代碼:mysql

<?php 
/********************************
*
*   crontab 定時生成緩存文件
*	* * * * * /usr/bin/php /app/crontab.php	
*   學php的小螞蟻
*   原創博客 http://my.oschina.net/woshixiaomayi/blog
*
***************************/

//載入前天寫的db類
//代碼內容請參考 http://my.oschina.net/woshixiaomayi/blog/518295
require_once('./db.php');

//載入以前寫好的文件靜態緩存類
//代碼內容請參考 http://my.oschina.net/woshixiaomayi/blog/518885
require_once('./file.php');

try{
	$connect =	Db::getInstance()->connect();
}catch(Exception $e){
	/*
		由於這裏是讓crontab定時執行的,錯誤只能寫到錯誤日誌之中,
		這一點必定要注意一下。
	*/	
	file_put_contents('./log/'.date('Y-m-d').'.txt', $e->getMessage());
	return;
}
//操做數據庫
$sql="select * from ecm_member limit 3";
$result	=	mysql_query($sql,$connect);
$index_data=array();
while ($row	=	mysql_fetch_assoc($result)) {
	$index_data[]	=	$row;
}
//實例化靜態文件緩存類,獲得數據就緩存,沒有則寫入日誌
$file =	new file();
if($index_data){
	$file->cacheData('index_page',$index_data);
}else{
	file_put_contents('./log/'.date('Y-m-d').'.txt', '沒有獲取數據');
}

 ?>

請求進來,直接將crontab生成的緩存發送給用戶便可:sql

<?php 
/************************************
*
*	調用crontab定時生成的緩存數據
*	學php的小螞蟻	
*	博客 http://my.oschina.net/woshixiaomayi/blog
*
******************************/

//載入以前寫好的接口響應類
//代碼內容請參考 http://my.oschina.net/woshixiaomayi/blog/517384	
require_once('./response.php');
//載入以前寫好的接口響應類
//代碼內容請參考 http://my.oschina.net/woshixiaomayi/blog/518885
require_once('./file.php');

//有訪問進來,讀取緩存,crontab會定時更新緩存,因此直接使用就好了
$file = new File();
$data 	=	$file -> cacheData('index_page');

if($data){
	return Response::show(200,'數據返回成功',$data);
}else{
	return Response::show(400,'數據返回失敗');
}
?>

    這個思路上也比較簡單,APP接口實例到這裏接學習結束了。    b( ̄▽ ̄)d    加油!
數據庫

相關文章
相關標籤/搜索