为了账号安全,请及时绑定邮箱和手机立即绑定

关于node并发时,出现数据错乱的问题

scott老师你好,node虽然是单线程的,但是是异步的,所以在有些情境下有些问题就有点想不通了,比如我要过滤重复的点击。

 1、加入用一个唯一标识符sign来标明唯一的点击

 2、每次点击的时候我会去数据库查询该次点击的sign存不存在,不存在的话才会插入该次点击

那么问题来了,但是如果几个相同的sign(比如sign都是1234)同时点击,这个时候就会出现,第一个sign还没成功插入进去,在第二个点击插入之前去查询sign的时候就会出现不存在,然后第二次插入也会如常进行,最后出现的结果就是两个相同的sign值插入了数据库,这有违背我最初的意愿,像这种情况下该怎么处理呢?


正在回答

2 回答

弱弱的问一句,tiome是什么?没懂,这种我目前只能在数据里面查找,我总不能把那么多标志sign都存到内存里面,早就泄露了。不知道你还有其他什么好的处理方法么

0 回复 有任何疑惑可以回复我~

萌新偶然看到胡言论语一下,  node更多是做服务, 可能你写了一堆的服务,然后暴露接口去调用,这个时候你在服务上加限制,就会降低他的可用性或者可移植性了, 像这种过滤问题,我觉得放在服务之前处理比较好,比如你可以做个tiome来解决频繁点击的问题。像这种做标志在数据库查找是比较耗费力气的。。 而且要做,也是记录在内存里面,这样响应也会更快一些。。

0 回复 有任何疑惑可以回复我~
#1

Will丶Lee 提问者

弱弱的问一句,tiome是什么?没懂,这种我目前只能在数据里面查找,我总不能把那么多标志sign都存到内存里面,早就泄露了。不知道你还有其他什么好的处理方法么
2016-05-20 回复 有任何疑惑可以回复我~
#2

你们不要学了我跟不上了 回复 Will丶Lee 提问者

打错字了。。timeout
2016-05-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
进击Node.js基础(一)
  • 参与学习       219394    人
  • 解答问题       896    个

本视频教程带你揭开Node.js的面纱,带你走进一个全新世界

进入课程

关于node并发时,出现数据错乱的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信