127.0.0.1:9200
URL: http://127.0.0.1:9200/likecs_art_db/_search
REQUEST:
Array
(
[query] => Array
(
[match] => Array
(
[text] => Array
(
[query] => MySQL 在高并发下的 订单撮合 系统使用 共享锁 与 排他锁 保证数据一致性
)
)
)
[highlight] => Array
(
[fields] => Array
(
[text] => stdClass Object
(
)
)
[pre_tags] => #em#
[post_tags] => #/em#
)
[size] => 8
[from] => 0
)
RESPONSE:string(8238) "{"took":146,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":10000,"relation":"gte"},"max_score":83.4716,"hits":[{"_index":"likecs_art_db","_type":"_doc","_id":"41479","_score":83.4716,"_source":{"id":"41479","text":"MySQL \u5728\u9ad8\u5e76\u53d1\u4e0b\u7684 \u8ba2\u5355\u64ae\u5408 \u7cfb\u7edf\u4f7f\u7528 \u5171\u4eab\u9501 \u4e0e \u6392\u4ed6\u9501 \u4fdd\u8bc1\u6570\u636e\u4e00\u81f4\u6027","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"linguanh","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1638104027"},"highlight":{"text":["#em#MySQL#/em# #em#在#/em##em#高#/em##em#并#/em##em#发#/em##em#下#/em##em#的#/em# #em#订#/em##em#单#/em##em#撮#/em##em#合#/em# #em#系#/em##em#统#/em##em#使#/em##em#用#/em# #em#共#/em##em#享#/em##em#锁#/em# #em#与#/em# #em#排#/em##em#他#/em##em#锁#/em# #em#保#/em##em#证#/em##em#数#/em##em#据#/em##em#一#/em##em#致#/em##em#性#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"816278","_score":50.502293,"_source":{"id":"816278","text":"mysql\u5171\u4eab\u9501\u4e0e\u6392\u4ed6\u9501","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"boblogsbo","tagsname":null,"tagsid":"","catesname":"","catesid":"","createtime":"1637239977"},"highlight":{"text":["#em#mysql#/em##em#共#/em##em#享#/em##em#锁#/em##em#与#/em##em#排#/em##em#他#/em##em#锁#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"816298","_score":50.502293,"_source":{"id":"816298","text":"Mysql\u5171\u4eab\u9501\u4e0e\u6392\u4ed6\u9501","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"dong320","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1637240016"},"highlight":{"text":["#em#Mysql#/em##em#共#/em##em#享#/em##em#锁#/em##em#与#/em##em#排#/em##em#他#/em##em#锁#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"816288","_score":48.70428,"_source":{"id":"816288","text":"mysql\u4e2d\u7684\u5171\u4eab\u9501\u4e0e\u6392\u4ed6\u9501","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"alighie","tagsname":"","tagsid":"","catesname":"","catesid":"","createtime":"1637239989"},"highlight":{"text":["#em#mysql#/em#中#em#的#/em##em#共#/em##em#享#/em##em#锁#/em##em#与#/em##em#排#/em##em#他#/em##em#锁#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"1030556","_score":48.699703,"_source":{"id":"1030556","text":"\u5171\u4eab\u9501\u4e0e\u6392\u5b83\u9501\u533a\u522b\uff08\u8f6c\uff09\n \n\n\n\n\n\n mysql\u5171\u4eab\u9501\u4e0e\u6392\u4ed6\u9501","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"panxuejun","tagsname":null,"tagsid":"","catesname":"","catesid":"","createtime":"1641616124"},"highlight":{"text":["#em#共#/em##em#享#/em##em#锁#/em##em#与#/em##em#排#/em#它#em#锁#/em#区别(转)\n \n\n\n\n\n\n #em#mysql#/em##em#共#/em##em#享#/em##em#锁#/em##em#与#/em##em#排#/em##em#他#/em##em#锁#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"1030562","_score":47.722305,"_source":{"id":"1030562","text":"\u5171\u4eab\u9501\u4e0e\u6392\u4ed6\u9501","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"fvsfvs123","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1641616138"},"highlight":{"text":["#em#共#/em##em#享#/em##em#锁#/em##em#与#/em##em#排#/em##em#他#/em##em#锁#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"68321","_score":47.218197,"_source":{"id":"68321","text":"\u6570\u636e\u5e93\u4e2d\u7684\u5171\u4eab\u9501\u4e0e\u6392\u4ed6\u9501","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"kyoner","tagsname":null,"tagsid":"","catesname":"","catesid":"","createtime":"1638104022"},"highlight":{"text":["#em#数#/em##em#据#/em#库中#em#的#/em##em#共#/em##em#享#/em##em#锁#/em##em#与#/em##em#排#/em##em#他#/em##em#锁#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"816279","_score":46.823215,"_source":{"id":"816279","text":"Mysql\u7684\u6392\u4ed6\u9501\u548c\u5171\u4eab\u9501","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"liaoweipeng","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1637239978"},"highlight":{"text":["#em#Mysql#/em##em#的#/em##em#排#/em##em#他#/em##em#锁#/em#和#em#共#/em##em#享#/em##em#锁#/em#"]}}]}}"
127.0.0.1:9200
URL: http://127.0.0.1:9200/likecs_art_db/_search
REQUEST:Array
(
[query] => Array
(
[match] => Array
(
[text] => Array
(
[query] => MySQL 在高并发下的 订单撮合 系统使用 共享锁 与 排他锁 保证数据一致性
)
)
)
[highlight] => Array
(
[fields] => Array
(
[text] => stdClass Object
(
)
)
[pre_tags] => #em#
[post_tags] => #/em#
)
[size] => 8
[from] => 8
)
RESPONSE:string(8156) "{"took":161,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":10000,"relation":"gte"},"max_score":83.4716,"hits":[{"_index":"likecs_art_db","_type":"_doc","_id":"1030553","_score":45.423122,"_source":{"id":"1030553","text":"\u5171\u4eab\u9501\u3001\u6392\u4ed6\u9501\u4e0e\u610f\u5411\u9501","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"yanze","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1641616118"},"highlight":{"text":["#em#共#/em##em#享#/em##em#锁#/em#、#em#排#/em##em#他#/em##em#锁#/em##em#与#/em#意向#em#锁#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"816281","_score":45.35838,"_source":{"id":"816281","text":"mysql \u4e2d\u7684\u5171\u4eab\u9501\u548c\u6392\u4ed6\u9501","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"eleven24","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1637239981"},"highlight":{"text":["#em#mysql#/em# 中#em#的#/em##em#共#/em##em#享#/em##em#锁#/em#和#em#排#/em##em#他#/em##em#锁#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"288618","_score":44.858173,"_source":{"id":"288618","text":"[\u6570\u636e\u5e93\u4e8b\u52a1\u4e0e\u9501]\u8be6\u89e3\u516d: MySQL\u4e2d\u7684\u5171\u4eab\u9501\u4e0e\u6392\u4ed6\u9501","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"wang-meng","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1630992553"},"highlight":{"text":["[#em#数#/em##em#据#/em#库事务#em#与#/em##em#锁#/em#]详解六: #em#MySQL#/em#中#em#的#/em##em#共#/em##em#享#/em##em#锁#/em##em#与#/em##em#排#/em##em#他#/em##em#锁#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"816284","_score":44.858173,"_source":{"id":"816284","text":"[\u6570\u636e\u5e93\u4e8b\u52a1\u4e0e\u9501]\u8be6\u89e3\u516d: MySQL\u4e2d\u7684\u5171\u4eab\u9501\u4e0e\u6392\u4ed6\u9501","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"du-0210","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1637239983"},"highlight":{"text":["[#em#数#/em##em#据#/em#库事务#em#与#/em##em#锁#/em#]详解六: #em#MySQL#/em#中#em#的#/em##em#共#/em##em#享#/em##em#锁#/em##em#与#/em##em#排#/em##em#他#/em##em#锁#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"816296","_score":44.40247,"_source":{"id":"816296","text":"InnoDB\u9501-\u5171\u4eab\u9501\u3001\u6392\u4ed6\u9501\u4e0e\u610f\u5411\u9501","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"edwardhenry","tagsname":"","tagsid":"","catesname":"","catesid":"","createtime":"1637240013"},"highlight":{"text":["InnoDB#em#锁#/em#-#em#共#/em##em#享#/em##em#锁#/em#、#em#排#/em##em#他#/em##em#锁#/em##em#与#/em#意向#em#锁#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"816277","_score":44.16515,"_source":{"id":"816277","text":"mysql\u7684\u8868\u9501\u548c\u884c\u9501\uff0c\u6392\u4ed6\u9501\u548c\u5171\u4eab\u9501\u3002","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"shamgod-lct","tagsname":"","tagsid":"","catesname":"","catesid":"","createtime":"1637239976"},"highlight":{"text":["#em#mysql#/em##em#的#/em#表#em#锁#/em#和行#em#锁#/em#,#em#排#/em##em#他#/em##em#锁#/em#和#em#共#/em##em#享#/em##em#锁#/em#。"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"816276","_score":43.985214,"_source":{"id":"816276","text":"Mysql\u7684\u5171\u4eab\u9501\u548c\u6392\u4ed6\u9501(\u8f6c\u8f7d)","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"mr-wuxiansheng","tagsname":null,"tagsid":"","catesname":"","catesid":"","createtime":"1637239975"},"highlight":{"text":["#em#Mysql#/em##em#的#/em##em#共#/em##em#享#/em##em#锁#/em#和#em#排#/em##em#他#/em##em#锁#/em#(转载)"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"816289","_score":43.985214,"_source":{"id":"816289","text":"MYsql\u4e2d\u7684\u4e8b\u52a1--------\u5171\u4eab\u9501\u3001\u6392\u4ed6\u9501","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"wdmlsx","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1637239989"},"highlight":{"text":["#em#MYsql#/em#中#em#的#/em#事务--------#em#共#/em##em#享#/em##em#锁#/em#、#em#排#/em##em#他#/em##em#锁#/em#"]}}]}}"
127.0.0.1:9200
URL: http://192.168.101.128/searchcore/index.php/cihere_cn_db/_search
REQUEST:Array
(
[query] => Array
(
[match] => Array
(
[title] => Array
(
[query] => MySQL 在高并发下的 订单撮合 系统使用 共享锁 与 排他锁 保证数据一致性
)
)
)
[highlight] => Array
(
[fields] => Array
(
[title] => stdClass Object
(
)
)
[pre_tags] => #em#
[post_tags] => #/em#
)
[from] => 0
)
RESPONSE:bool(false)
127.0.0.1:9200
URL: http://127.0.0.1:9200/likecs_down_db/_search
REQUEST:Array
(
[query] => Array
(
[bool] => Array
(
[must] => Array
(
[0] => Array
(
[match] => Array
(
[title] => Array
(
[query] => MySQL 在高并发下的 订单撮合 系统使用 共享锁 与 排他锁 保证数据一致性
)
)
)
)
[must_not] => Array
(
[0] => Array
(
[term] => Array
(
[cate1] => 电子书籍
)
)
)
)
)
[highlight] => Array
(
[fields] => Array
(
[title] => stdClass Object
(
)
)
[pre_tags] => #em#
[post_tags] => #/em#
)
[size] => 5
[from] => 0
)
RESPONSE:string(3151) "{"took":13,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":10000,"relation":"gte"},"max_score":24.62349,"hits":[{"_index":"likecs_down_db","_type":"_doc","_id":"67891","_score":24.62349,"_source":{"id":"67891","title":"PHP\u8ba2\u5355\u7cfb\u7edf(LZPHP\u5728\u7ebf\u8ba2\u5355\u7ba1\u7406\u7cfb\u7edf) v9.0","spidertime":"1623078810","contenttime":"1674485648","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/litimg\/140508\/163616103253.gif","tag":"\u8ba2\u5355\u7cfb\u7edf|LZPHP","cate1":"\u6e90\u7801\u4e0b\u8f7d","cate2":"php\u6e90\u7801","cate3":"\u8ba1\u6570\u7edf\u8ba1","attr1":"84KB"},"highlight":{"title":["PHP#em#订#/em##em#单#/em##em#系#/em##em#统#/em#(LZPHP#em#在#/em#线#em#订#/em##em#单#/em#管理#em#系#/em##em#统#/em#) v9.0"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"9898","_score":24.62349,"_source":{"id":"9898","title":"PHP\u8ba2\u5355\u7cfb\u7edf(LZPHP\u5728\u7ebf\u8ba2\u5355\u7ba1\u7406\u7cfb\u7edf) v9.0","spidertime":"1622876836","contenttime":"1679500921","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/litimg\/140508\/163616103253.gif","tag":"\u8ba2\u5355\u7cfb\u7edf|LZPHP","cate1":"\u6e90\u7801\u4e0b\u8f7d","cate2":"php\u6e90\u7801","cate3":"\u8ba1\u6570\u7edf\u8ba1","attr1":"84KB"},"highlight":{"title":["PHP#em#订#/em##em#单#/em##em#系#/em##em#统#/em#(LZPHP#em#在#/em#线#em#订#/em##em#单#/em#管理#em#系#/em##em#统#/em#) v9.0"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"66936","_score":24.075188,"_source":{"id":"66936","title":"WPF\u5728\u7ebf\u8ba2\u5355\u7cfb\u7edf v1.0","spidertime":"1623077246","contenttime":"1676591286","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/litimg\/210325\/161R110K16.gif","tag":"WPF|\u5728\u7ebf\u8ba2\u5355","cate1":"\u6e90\u7801\u4e0b\u8f7d","cate2":"\u5176\u5b83\u6e90\u7801","attr1":"29.6MB"},"highlight":{"title":["WPF#em#在#/em#线#em#订#/em##em#单#/em##em#系#/em##em#统#/em# v1.0"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"6277","_score":24.075188,"_source":{"id":"6277","title":"WPF\u5728\u7ebf\u8ba2\u5355\u7cfb\u7edf v1.0","spidertime":"1622872280","contenttime":"1678627441","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/litimg\/210325\/161R110K16.gif","tag":"WPF|\u5728\u7ebf\u8ba2\u5355","cate1":"\u6e90\u7801\u4e0b\u8f7d","cate2":"\u5176\u5b83\u6e90\u7801","attr1":"29.6MB"},"highlight":{"title":["WPF#em#在#/em#线#em#订#/em##em#单#/em##em#系#/em##em#统#/em# v1.0"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"31707","_score":23.889114,"_source":{"id":"31707","title":"\u6570\u636e\u5408\u5e76\/\u6392\u5e8f\/\u63d0\u53d6\/\u6279\u91cf\u67e5\u8be2\u5b9e\u7528\u5c0f\u5de5\u5177 v1.0","spidertime":"1622955685","contenttime":"1671262534","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/litimg\/171103\/003A6105F5.gif","tag":"\u5408\u5e76|\u6392\u5e8f|\u63d0\u53d6|\u67e5\u8be2","cate1":"\u6e90\u7801\u4e0b\u8f7d","cate2":"asp\u6e90\u7801","cate3":"\u67e5\u8be2\u5de5\u5177","attr1":"631KB"},"highlight":{"title":["#em#数#/em##em#据#/em##em#合#/em##em#并#/em#/#em#排#/em#序/提取/批量查询实#em#用#/em#小工具 v1.0"]}}]}}"
MySQL 在高并发下的 订单撮合 系统使用 共享锁 与 排他锁 保证数据一致性 - 爱码网
作者:林冠宏 / 指尖下的幽灵
掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8
博客:http://www.cnblogs.com/linguanh/
GitHub : https://github.com/af913337456/
腾讯云专栏: https://cloud.tencent.com/developer/user/1148436/activities
虫洞区块链专栏:https://www.chongdongshequ.com/article/1536563643883.html
前序
距离上次择文发表,两月余久。2018年也即将要结束了,目前的工作依然是与区块链应用相关的,也很荣幸在9月初受邀签约出版暂名为《区块链以太坊DApp实战开发》一书,预计在明年年初出版。
这次让我有感记录这篇文章的原因是最近在使用Go语言重写一个原来由PHP语言编写的交易所订单撮合模块的时候,发现订单撮合的部分代码在撮合的时候,为保证各表数据在并发情况下不出现读写脏乱而采用了全局锁表的操作。后面我采用了共享锁的形式进行了修改,于刚刚重写完,并进行了并发单元测试,表现正常。
目录
- 场景描述
- 解决问题
- 订单撮合实例
- 共享锁 与 排他锁
- 前置知识
- 行锁与表锁
- 两种行锁的特点
- 两种行锁的加锁方式
- 锁的释放
- 操作例子
- 改造代码片段
场景描述
高并发的业务常见是有很多种类的,最常见的例如秒杀抢购。它们都有一个共同的特点就是数据更新都比较频繁,通常涉及到多张业务表的增改操作,且表格越多的,要考虑的问题也越多。
订单撮合可以理解为订单买卖,拿这个为例子进行列举一个可能会导致数据错乱的情形。假设现在买卖手机,A用户是要买手机的,B用户是卖手机的。A的买入单订单1,和B的卖出单订单2,订单2卖出手机,一台手机卖1000元。此时A的网上的钱包余额是1001元,刚好比手机价格高,是可以成交的。
此时记录用户钱包钱数数量的是一张数据表。每次花费了钱或者增加了钱,都要更新这个表。
当这两笔订单进入到系统里面进行撮合。假设系统的订单撮合运行流程如下图所示:

当判断条件进行A用户的钱包余额判断的时候,发现 1001 > 1000,结果是通过,此时准备进入“进行记录更细”步骤。但是,就在这个过程之中的时间差中,A用户使用了系统的网上提现功能,并成功转出了10元,剩余的是1001 - 10 = 991元。但是由于撮合系统的余额判断过程以及通过了,导致下面的交易流程依然能进行,最终A用991元买了B的1000元售价的手机。
解决问题
上述的常见问题是一个很简单的模型,现实的系统中往往是更复杂的。但是它所体现出的问题却是真实存在的,对于这类问题,有很多解决方案。其中,就可以考虑使用数据库的锁。
本文要介绍的是MySQL数据库的共享锁 与 排他锁,其它的不作说明或引申。
订单撮合实例
下面的截图就是我所重写好的撮合系统原始的PHP代码,所使用了表锁的方式来解决前面的并发读写导致数据脏乱的问题。这种方式虽然是解决了问题,但是导致了性能低下的问题。

共享锁 与 排他锁
前置知识:
- MySQL 是数据库,不是
数据库引擎
- MySQL有两种常用存储引擎:
MyISAM和InnoDB
-
MyISAM不支持事务操作,InnoDB支持事务操作
- MySQL 的锁分有
行锁 和 表锁
- MyISAM 只有表锁
- Innodb 行锁,表锁都有
- 行锁中有
共享锁和排他锁
-
共享锁 简称 S锁,排他锁简称 X锁
行锁与表锁
简述:
-
行锁,锁的是表中对应的行,只限制当前行的读写。
-
表锁,锁的是整张表,限制的是整张表的数据读写。
比较:
- 行锁,计算机资源开销大,加锁慢;会出现
死锁;锁定粒度最小,锁冲突的概率最低,并发度最高,性能高。
- 表锁,计算机资源开销小,加锁快;不会出现
死锁;锁定粒度大,锁冲突的概率最高,并发度最低,性能低。
两种行锁的特点
共享锁
A 对数据 B 加了 共享锁,A能读取和修改数据B,C 等其它只能读取数据B,但是不能修改。直至A释放了B的锁。
排他锁
A 对数据 B 加了 排他锁,A能读取和修改数据B,C 等其它不能再对数据B加其它的锁。直观体验是不能修改,不能使用含有加锁动作的select读取。
两种行锁的加锁方式
要注意的是:
- 行锁的实现SQL语句中必须要有索引的限制条件,例如含有
where id=xxx 这类语句。
- 行锁的实现SQL语句没有索引限制条件会变成
表锁
-
InnoDB引擎 默认的修改数据类SQL语句,update,delete,insert等,都会自动给涉及到的数据加上排他锁。
共享锁
- select 的添加可以使用满足格式:
select ... where 索引限制 lock in share mode 的语句。例如“select name from lgh_user where id = 1 lock in share model” 此时 id 是索引。
排他锁
- 满足格式:
select ... where 索引限制 for update 的语句
锁的释放
操作例子
演示事务 tx 中的例子,文字解析见图。








改造代码片段
撮合中的所有表锁替换成了共享锁,运行其它业务读取所锁的行数据,在当前事务的批量操作还没结束之前,不允许修改。

完
相关文章:
-
2022-01-08
-
2021-11-18
-
2021-09-07
-
2021-11-18
-
2021-11-18
-
2021-11-18
-
2021-11-18
猜你喜欢
-
2021-11-18
-
2021-11-18
-
2021-11-18
-
2022-01-08
-
2022-01-08
-
2021-11-28
-
2021-11-18
相关资源
-
下载
2023-01-23
-
下载
2023-02-17
-
下载
2022-12-17