1.解决电商中的超卖问题。
(1)用update行锁
(2)用synchronized或者ReentrantLock锁,并且手动提交事务,控制并发。(当多个服务时,多个进程时jvm的这两种锁就失效了)
(3)用for update锁。(当并发量大时,对数据库压力很大。建议:锁的数据库和业务数据库分开)
(4)利用redis的NX特性,实现分布式锁,可以解决定时任务,集群部署的问题。
(5)用zookeeper实现分布式锁
代码实现:
(6)redission提供了额外的分部署锁功能:https://blog.csdn.net/fuleidemo/article/details/90437697