求助:有没有大佬可以简单讲一下MySQL的“锁”

我也不知道这是一个什么东西,动力节点没讲,但是lintcode上面都是这种题,我不会我感觉很吃亏

lock·mysql
87 views
Comments
登录后评论
Sign In
·

简单说就是锁定数据,同一时间只允许一个地方更改,避免竞争。举个简单例子,记账:

我的卡里有 1000¥,订阅了一个服务,每月自动扣费 600¥,刚好要买一个东西需要 500¥,如果两个扣费操作同时进行,读取到的账户余额都是 1000¥,结果两个都可以扣费成功(这就坏账了),如果加了锁,同时只能进行一个操作,必须区分先后,无论哪个扣费先执行,都会发现后面余额不足报错,这样记账就不会记错。

通常用来解决同时操作(并发写)导致的数据不一致性问题。Mysql的锁种类很多:行级锁、页级锁、表级锁,你可以看文档学习下:Transactional and Locking Statements

另外 “事务”、ACID、CAP 定理、Base理论等概念也建议你了解下。