博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
并发之悲观锁和乐观锁的使用
阅读量:6609 次
发布时间:2019-06-24

本文共 475 字,大约阅读时间需要 1 分钟。

hot3.png

数据库悲观锁:

利用数据库锁机制实现。分为行级锁和表级锁,同时行级锁和表级锁都分为共享锁(读锁)和排他锁(写锁)
共享锁允许其他线程进行查询,不允许其他线程进行插入、更新和删除操作;
排他锁不允许其他线程进行插入、更新和删除操作,允许自身进行查询、插入、更新和删除操作,其他进行查询操作。

排他锁:
SELECT * FROM `card_ledger_info` where id= 1 FOR UPDATE;

共享锁:

SELECT * FROM `card_ledger_info` where id= 1 LOCK in SHARE MODE;

 

乐观锁:
添加version字段,在实体类上添加@Version注解,但是如使用@query或原生sql时需要考虑代码控制version限制与更新

 

常见提高并发性能手段:

增加网络带宽;
索引、分表、分区、存储过程、视图等的使用;

同时sql性能与sql的质量也有很大关系,避免无效索引的使用

转载于:https://my.oschina.net/kevin2kelly/blog/1634112

你可能感兴趣的文章
EVCache —— Netflix 的分布式内存数据存储
查看>>
《用友ERP-U8(8.72版)标准财务模拟实训》——1.4 系统管理注册和导入演示账套...
查看>>
《Node.js区块链开发》一3.6 总结
查看>>
《UG NX8.0中文版完全自学手册》一2.8 布尔运算
查看>>
移动阅读时代“长文章”生存状态调查
查看>>
springboot docker笔记
查看>>
跟我一起学QT3:电子表格的制作
查看>>
mysql char和varchar区别
查看>>
Modbus RTU 通信工具设计
查看>>
服务化改造实践 | 如何在 Dubbo 中支持 REST
查看>>
Logwatch linux日志监视器解析
查看>>
【第8章】JVM内存管理
查看>>
在绿色的河流上
查看>>
ovirt官方安装文档 附录G
查看>>
磁盘故障小案例
查看>>
了解相关.NET Framework不同组件区别及安装知识
查看>>
ToughRADIUS快速指南
查看>>
Kubernetes+Prometheus+Grafana部署笔记
查看>>
linux磁盘管理基本命令
查看>>
HTML
查看>>