Nodejs中如何实现互斥锁和自定义的原子性操作
场景: 开发微信公众号,对于Accesstoken需要两小时请求一次。 假设处理A用户请求任务时要用Accesstoken,此时发现Accesstoken过期了,就需要向腾讯服务器去请求Accesstoken并写入到本地。但,恰好在腾讯服务器未返回或者写入本地未完成的时候,服务器又接收到B用户请求,这时又要操作Accesstoken。 问题: 有什么方式可以保证Accesstoken操作的原子性。而且,当有多个任务要操作Accesstoken时,任务能排队进行,等待前一个任务完成后再进行下一个。其实就是实现一个类似于互斥锁功能。
6 回复
我刚接触到Nodejs。有没有原生的解决方案?我看网上上Nodejs号称可以同时处理数万个请求,它的优势在于异步回调处理。这个场景应该是普遍遇到的吧?还是我处理这种场景的思路错了,不应该用锁处理。