关于node并发时,出现数据错乱的问题
scott老师你好,node虽然是单线程的,但是是异步的,所以在有些情境下有些问题就有点想不通了,比如我要过滤重复的点击。
1、加入用一个唯一标识符sign来标明唯一的点击
2、每次点击的时候我会去数据库查询该次点击的sign存不存在,不存在的话才会插入该次点击
那么问题来了,但是如果几个相同的sign(比如sign都是1234)同时点击,这个时候就会出现,第一个sign还没成功插入进去,在第二个点击插入之前去查询sign的时候就会出现不存在,然后第二次插入也会如常进行,最后出现的结果就是两个相同的sign值插入了数据库,这有违背我最初的意愿,像这种情况下该怎么处理呢?