采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师你好,我看你讲解通过版本号实现乐观锁的时候,你说如果真实系统中简单这么做的话是有问题的,这个具体是什么问题呢?我感觉使用版本号匹配的话,没有问题啊,没有思考出来有问题的场景,麻烦老师解答下~
同学好,首先,相比悲观锁,乐观锁的话是到提交的时候才会去检查是否能够执行成功,这也就意味着,针对写多读少的场景来讲,往往会造成写入要重试多次,增加读取次数,影响用户体验;其次,这里说的"简单这么做"是指单纯通过数据库表的版本字段去控制,这个会有问题,特别是针对分布式计算系统,如果只有单库,仅通过该库查询版本号会有性能瓶颈,如果将版本号副本存储到多个数据库中又会造成数据不一致
感谢翔仔热心解答。 那针对写多读少的场景来讲,往往会造成写入要重试多次,增加读取次数,影响用户体验;针对这个问题业界有解决手段吗? 以及分布式场景下,如果只有单库,仅通过该库查询版本号会有性能瓶颈;如果将版本号副本存储到多个数据库中又会造成数据不一致;针对这个问题,业界大概是怎么处理的啊? 00
同学好,针对写多读少的场景,乐观锁都会存在失败重试的问题,可以依据业务折衷选择悲观锁来处理;数据库毕竟性能有限,可以通过cas的方式配合redis集群或者消息队列来代替
老师你好,这个使用cas并配合redis集群,再给具体描述下吧,感谢
登录后可查看更多问答,登录/注册
招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航
1.7k 27
2.7k 22
1.2k 15
1.4k 14
1.3k 14