koa/router 如何实现同步接口?

我有个上传文件的接口,支持双向链表排序

每次上传时先查sql里存在的最后一个文件,然后修改指针

一个个上传时没问题,但是在并发情况下,接口同时被多次调用,前一个文件还没存入sql,后一个文件已经上传,导致指针指向不对

考虑将接口改为同步的,怎么做?或者有其他更好的方案吗?

阅读 2.2k
1 个回答

这是锁和队列适用的场景,目的都是串行处理

  1. 锁:数据库、Redis锁甚至文件锁,限制并发修改数据
  2. 队列:单个消费者处理,可以异步返回结果( koa 里 await 等结果也可以
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题