美文网首页
加的锁怎么没看到释放

加的锁怎么没看到释放

作者: 孤远 | 来源:发表于2019-01-09 19:17 被阅读0次

这个是db级的锁(术语叫悲观锁,再术语叫排它锁),事务结束(提交、回滚或者链接断开)之后自行释放。

如何加的锁?

select .... for update

注意: 这种方式的锁必须使用在事务的上下文当中。

事务呢?

如果是纯SQL会话,那么就是数据库的原语(即首先set autocommit=0,然后begin,然后执行几条sql命令,然后commit);

如果是上层用的ORM(比如hibernate)以及Spring,那么就用Spring的@Transactional注解实现整个事务的逻辑,隔离级别设置为RC(即不可重复读,Read_Commit)。

扩容流程为什么要加锁?

为了并发控制。

相关文章

网友评论

      本文标题:加的锁怎么没看到释放

      本文链接:https://www.haomeiwen.com/subject/eqzgrqtx.html