例如在签到模块中,一天一个用户只能签到一次,签到后向数据库中插入一条记录,在controller中先判断此用户是否当天已经签到,如果用户同时在不同处登录点击签到按钮,也就是同时访问controller,假如当天这个用户还没有签到,那么同时访问controller去查询数据库两个客户端都会得到还没有签到的结果,随即同时都向数据库插入了签到数据。那么就造成了一个用户在签到表中有两条当天的签到记录,这种情况该怎么避免呢?请高手给解惑,谢谢了。
4条回答 默认 最新
- huozhedecctv 2014-09-25 17:55关注
使用一个统一的锁,在查询判断前锁定,插入后释放锁;那么另一个客户端只能在你插入后才能进行查询,如果重复了,不让插入
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 微信会员卡接入微信支付商户号收款
- ¥15 如何获取烟草零售终端数据
- ¥15 数学建模招标中位数问题
- ¥15 phython路径名过长报错 不知道什么问题
- ¥15 深度学习中模型转换该怎么实现
- ¥15 HLs设计手写数字识别程序编译通不过
- ¥15 Stata外部命令安装问题求帮助!
- ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
- ¥15 TYPCE母转母,插入认方向
- ¥15 如何用python向钉钉机器人发送可以放大的图片?