APP開發(fā)后臺接口要點(diǎn)
周末記錄综苔。惩系。。
1.處理異常情況
2.以讀取緩存方式開發(fā)
緩存能減少服務(wù)器壓力如筛。每次http請求都先查看是否存在緩存堡牡,如果存在則直接返回緩存;否則從數(shù)據(jù)庫中獲取數(shù)據(jù)同時生成緩存杨刨。
2.1靜態(tài)緩存如何設(shè)置緩存失效時間
2.1如何設(shè)置緩存(靜態(tài)緩存)
3.以定時讀取緩存方式開發(fā)
3.1編寫定時腳本程序
crontab -e 設(shè)置定時任務(wù)晤柄。
例子:*/1 * * * * /user/bin/php /data/www/12.php
注:
分 小時 日 月 星期 命令
"*"代表取值范圍內(nèi)的數(shù)字
"/"代表每 比如每分鐘
crontab -l 列出某個用戶cron服務(wù)詳細(xì)內(nèi)容。
crontab -r 刪除所有定時任務(wù)妖胀。
3.2服務(wù)器提前準(zhǔn)備數(shù)據(jù)
4.APP版本升級
4.1版本分析以及數(shù)據(jù)表設(shè)計
開啟app時發(fā)送一個初始化接口芥颈,比如init.php
參數(shù):
app_id 客戶端id
version_id 版本id
數(shù)據(jù)表設(shè)計
/**
* version_upgrade 版本升級信息表
*/
CREATE TABLE `version_upgrade` (
`id` smallint(4) unsigned NOT NULL AUTO_INCREMENT,
`app_id` smallint(4) unsigned NOT NULL DEFAULT '0' COMMENT '客戶端設(shè)備id 1安卓pad 2安卓手機(jī) 3ios手機(jī) 4iospad',
`version_id` smallint(4) unsigned DEFAULT '0' COMMENT '大版本號id',
`version_mini` mediumint(8) unsigned DEFAULT '0' COMMENT '小版本號',
`version_code` varchar(10) DEFAULT NULL COMMENT '版本標(biāo)識 1.2',
`type` tinyint(2) unsigned DEFAULT NULL COMMENT '是否升級 1升級惠勒,0不升級,2強(qiáng)制升級',
`apk_url` varchar(255) DEFAULT NULL,
`upgrade_point` varchar(255) DEFAULT NULL COMMENT '升級提示',
`status` tinyint(2) DEFAULT NULL,
`create_time` int(11) DEFAULT NULL,
`update_time` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
/**
* app表 客戶端表
*/
CREATE TABLE `app` (
`id` smallint(4) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵id',
`name` varchar(10) DEFAULT NULL COMMENT 'APP類型名稱 如 : 安卓手機(jī)',
`is_encryption` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否加密 1加密 0不加密',
`key` varchar(20) NOT NULL DEFAULT '0' COMMENT '加密key',
`image_size` text COMMENT '按json_encode存儲',
`create_time` int(11) NOT NULL COMMENT '創(chuàng)建時間',
`update_time` int(11) NOT NULL COMMENT '更新時間',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '狀態(tài) 1正常 0刪除',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
version表 版本表
4.1版本升級接口開發(fā)
基本參數(shù)傳遞方式和獲得方法
get $_GET
post $_POST
header頭 $_SERVER
在這里我們都是使用post.
5.APP錯誤日志接口
1.APP強(qiáng)退
2.數(shù)據(jù)加載失敗
3.APP潛在問題
需要做成一個接口爬坑,供APP發(fā)生異常時提交到服務(wù)器纠屋,方便問題記錄和分析解決。