Eeylx 2017-04-18 04:14 采纳率: 50%
浏览 1218
已采纳

nodejs如何缓存手机app发来的请求, 批量处理的同时还能给app返回处理结果?

目前的情况是 : 安卓app给用nodejs搭建的服务器发送注册请求, nodejs负责调用相关的api去向环信注册.
但是环信对api有限流, 所以想做成批量处理, 比如每秒调用一次批量注册的api.
(环信接口限流说明 : http://docs.easemob.com/im/450errorcode/45restastrict)
现在的问题是 首先我不太清楚缓存请求有没有比较好的方法, 其次是针对每个安卓app发来的请求, 都要返回消息告知成功还是失败, 如果缓存了做批量处理的话, 还如何给app返回消息呢?

  • 写回答

3条回答 默认 最新

  • Nightwish93 2017-05-09 23:39
    关注

    根据你的描述,由于api请求限流,例如30次/秒,可以使用javascript 的 setInterval方法,每隔 34ms 发送一次请求,请求可写在回调函数中。
    也可每隔1秒批量发送30个请求,具体性能自己测试可得。

    对于api请求的调用,推荐使用 fetch 这一javascript语法,它是由封装Promise实现的,
    在then方法中实现回调函数,即返回客户端告知成功失败与否。(也可使用 request 等库)

    对于批量发送请求,即 nodejs 异步事件队列的请求实现,可参考 thenjs库,它实现了对每个数组元素的异步函数实现及回调,或可参考我的两篇
    博客(1) (2)

    对于缓存请求来说,既然能在回调中实现告知客户端的功能,可能就不需要了,如果要缓存,推荐使用 Redis,若要持久化,则使用MySQL, 具体不再赘述。
    以上为本人一点愚见,仅供参考。祝楼主工作顺利。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能