高并发的问题

david___ 2020-03-17 05:23:39
我们公司的项目是toB的,用户量还很少,所以我们的代码里基本没有什么处理并发的逻辑,就是我看别的后端写的也没有,就是很基础的增删改查。
但是面试的时候总问并发的问题,我就想问像阿里啊这些大公司写每一个接口都要有并发的处理吗,他们是怎么处理的,小白没在大公司待过,真心求教。我们公司有据说从大公司出来的,我看他写的也就是普通的增删改查啊,并没有锁啊啥的。
...全文
5137 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
一只三黄鸡 2021-01-13
  • 打赏
  • 举报
回复
引用 3 楼 披着虎皮_的石头 的回复:
高并发问题,有读脏数据,和写脏数据。 主要问题是防止多人操作,同一个记录写脏数据,使记录的内容逻辑上不一致。 防止写脏数据的方法: 1 标记法,同时对同一个记录修改时,先读取记录的制单日期或修改日期的时间戳, 和界面值比较,如果不同,提示记录在读取后,已被修改不能操作。 2 新增或修改提交时,sql语句加条件:字段1 =当前值 and 字段2 =当前值。。。 如果返回结果是空就是存在并发操作,提示并发操作,不能成功,回滚事务。 3 定时或晚上定时检查,各数据间的关系,防止出现并发写等数据错误。
第三点是如何防止的,求解释,感谢
  • 打赏
  • 举报
回复
第三点是如何防止的,求解释,感谢----- 就是防不住,脏数据写进去了,去定时检查,然后报警。 原则上,是报警,不主动修改,比如对冗余数据的修改失败。 这个检查,不是单个检查,而是成体系的,根据配置去检查。 主要是单据和基础表、单据和帐、单据和帐、单据内主从表的关系去检查。
  • 打赏
  • 举报
回复
高并发问题,有读脏数据,和写脏数据。 主要问题是防止多人操作,同一个记录写脏数据,使记录的内容逻辑上不一致。 防止写脏数据的方法: 1 标记法,同时对同一个记录修改时,先读取记录的制单日期或修改日期的时间戳, 和界面值比较,如果不同,提示记录在读取后,已被修改不能操作。 2 新增或修改提交时,sql语句加条件:字段1 =当前值 and 字段2 =当前值。。。 如果返回结果是空就是存在并发操作,提示并发操作,不能成功,回滚事务。 3 定时或晚上定时检查,各数据间的关系,防止出现并发写等数据错误。
  • 打赏
  • 举报
回复
增删改查也需要锁啊,不然出问题是必然的。像如果数据库里直接存数字,大家同时对数字的修改,只要有并发基本会出现问题。涉及到同时读写的数据都需要严格自己的代码
啥都无所谓 2021-01-11
  • 打赏
  • 举报
回复
这个从前后都可以加,前端加验证,加随机pass请求,加验证用户,同一个用户就不让他在多少时间里面请求,加IP过滤,增加缓存,读写分离,加ES,加各种,反正总而言之就是让数据库的操作少之又少。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧