APP开发后台接口要点
周末记录。。。
1.处理异常情况
2.以读取缓存方式开发
缓存能减少服务器压力。每次http请求都先查看是否存在缓存,如果存在则直接返回缓存;否则从数据库中获取数据同时生成缓存。
2.1静态缓存如何设置缓存失效时间
2.1如何设置缓存(静态缓存)
3.以定时读取缓存方式开发
3.1编写定时脚本程序
crontab -e 设置定时任务。
例子:*/1 * * * * /user/bin/php /data/www/12.php
注:
分 小时 日 月 星期 命令
"*"代表取值范围内的数字
"/"代表每 比如每分钟
crontab -l 列出某个用户cron服务详细内容。
crontab -r 删除所有定时任务。
3.2服务器提前准备数据
4.APP版本升级
4.1版本分析以及数据表设计
开启app时发送一个初始化接口,比如init.php
参数:
app_id 客户端id
version_id 版本id
数据表设计
/**
* version_upgrade 版本升级信息表
*/
CREATE TABLE `version_upgrade` (
`id` smallint(4) unsigned NOT NULL AUTO_INCREMENT,
`app_id` smallint(4) unsigned NOT NULL DEFAULT '0' COMMENT '客户端设备id 1安卓pad 2安卓手机 3ios手机 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 '版本标识 1.2',
`type` tinyint(2) unsigned DEFAULT NULL COMMENT '是否升级 1升级,0不升级,2强制升级',
`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类型名称 如 : 安卓手机',
`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 '创建时间',
`update_time` int(11) NOT NULL COMMENT '更新时间',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1正常 0删除',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
version表 版本表
4.1版本升级接口开发
基本参数传递方式和获得方法
get $_GET
post $_POST
header头 $_SERVER
在这里我们都是使用post.
5.APP错误日志接口
1.APP强退
2.数据加载失败
3.APP潜在问题
需要做成一个接口,供APP发生异常时提交到服务器,方便问题记录和分析解决。
网友评论