领导给了我一个任务,让我协同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教程有兴趣的朋友有所帮助。