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

已采纳回答 / 慕粉1852402560
MySQL的innodb存储引擎支持行级锁,innodb的行锁是通过给索引项加锁实现的,这就意味着只有通过索引条件检索数据时,innodb才使用行锁,否则使用表锁。根据当前的数据更新语句(UPDATE user set name=‘11111’ where account=‘1’),该条件字段account并没有添加索引,所以导致数据表被锁。

最新回答 / 海耶森斯
http://lokami.cn/baiduyixia/?redis%E6%80%8E%E4%B9%88%E5%AE%89%E8%A3%85

最新回答 / Dream5
这是设置商品信息的缓存 无所谓

最赞回答 / Touchkiss
百度web测试工具

最赞回答 / AlanLiu0328
insert只会锁当前行,别人insert和你insert不冲突。 而update就不一样了。 比如大家都要更新1000元抢Iphone6更新,那么就会抢同一行的锁

最新回答 / 慕盖茨030889
没有库存的情况下会insert,但是update执行时更新条数小于0,就会抛出异常、事务回滚。好处就是: 用户第一次执行秒杀   insert -> update(持锁) ->commit(释放锁)                  用户第二次执行秒杀    insert -> result减少了事务行级锁的时间。

已采纳回答 / qq_星云_15
我姑且会采用这样的思路数据库查询已完成支付的订单,统计一段时间内卖出的某种商品的数量

最赞回答 / 慕粉4220851
最直接一点也就是老师说的可以给他赋默认值为-2,因为我们在上面往map中存入该字段的时候他的值是null,而null赋值给int型的result会报错,可能是为了避免这种错误吧。

最新回答 / 慕姐451217
直接内存计算的结果,速度很快,没有并发问题,无需优化

已采纳回答 / 慕无忌0254783
为了spring的事务控制器识别这个运行时异常,进而回滚事务。

最赞回答 / qq_遥忘而立_0
1.网络延时,只要有网络请求就会存在网络延时.2.行级锁只是锁住那一行的数据操作.对其他表和库没有影响.不会.     以上只是个人见解...

最赞回答 / 慕移动5286350
Mybatis一级缓存作用域是session,session commit之后缓存就失效了Mybatis二级缓存作用域是sessionfactory,该缓存是以namespace为单位的(也就是一个Mapper.xml文件),不同namespace下的操作互不影响。所有对数据表的改变操作都会刷新缓存。但是一般不要用二级缓存,例如在UserMapper.xml中有大多数针对user表的操作。但是在另一个XXXMapper.xml中,还有针对user单表的操作。这会导致user在两个命名空间下的数据不一致。如...

最新回答 / wxisme
用js获取的时间不是服务器时间,需要获取代码运行代码所在服务器时间,获取时间的接口每次返回的系统时间应该是某一台服务器的时间,保持一致性,准确性。如果数据库存储的时间和另一台的服务器的当前时间时钟不一致就容易出现问题。
课程须知
《Java高并发秒杀API》是系列课程,共四门课,分别为业务分析和DAO层,Service层,Web层和高并发优化。本门课程是第二门课程,学习前需要了解如下知识: 1、精通JavaWeb基础 2、熟悉SpringMVC、Spring和MyBatis框架 3、了解事务和存储过程的概念
老师告诉你能学到什么?
1、掌握秒杀业务 2、能够进行SpringMVC+Spring+MyBatis的整合开发 3、能够对秒杀业务的瓶颈有所了解 4、能够实现对秒杀业务的优化

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消