欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

第一次写App接口的经验

程序员文章站 2022-05-20 20:09:56
...
领导给了我一个任务,让我协同IOS和Android为平台手机版出一个app4.0的版本,在此之前没有接写过接口之类的,以至于拿到手有点蒙蒙的。

后来请教了前辈,慢慢的写了一点,基本上在一天内掌握了交接规则,最难的就是调试的部分,因为也是属于二次开发,再加上之前对部分功能不是很熟悉,所以一路上磕磕绊绊的,索性的是走后终于走通了,也上线了。这次主要用到了Redis,Memcache。虽然看过Redis但是实际用起来却是另一会事,下面我举几个例子:

1、就是Redis的传值的问题,
$redis = new Redis();
$redis->set("test".$user['id'],$packet_token);

但是在取的时候

$redid = $redis->get("test".$user['id']);

却是怎么都取不到值

原因是redis没是设置过期时间,在赋值的时候加上就行$redis->set2("user".$user['id'],$packet_token,1000);

2、Redis队列阻塞的情况

在测试app的时候redis各种阻塞,各种错误日志,对于单纯的阻塞只要请一下队列就行(执行脚本):

#!/bin/bash
#
REDIS_PASS=aaaaaaaaaaaaaaaaaaaaaaaaaaa
redis-cli -a $REDIS_PASS lpop fund:queue:sandbox
redis-cli -a $REDIS_PASS set fund:queue:locked ''
supervisorctl restart all

对于错误日志,其中有一个错误让我花了半天的时间:

原因是表中有字段唯一性约束,存如redis的值本应该是list类型,因为错误却传了string类型,只要清除改表数据再重启redis就可以。

3、终于上线了,最后却赎回金额赎不了

因为每个账户都加了账户锁,用户不能连续点击,因为是多笔赎回,但是账户锁却加在了单笔赎回上,所以只要将账户锁加进多笔赎回中即可。

以上就介绍了第一次写App接口的经验,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。