鍍金池/ 問答/PHP  數(shù)據(jù)庫/ 高并發(fā)下如何控制update多次執(zhí)行

高并發(fā)下如何控制update多次執(zhí)行

項(xiàng)目中經(jīng)常會使用update 給某些字段加1,sql語句對于的類似這樣:
update table set column = column+1 where id=1

在高并發(fā)場景下,如何控制只執(zhí)行一次,就是說同時1000個人來請求了,但我的結(jié)果就是只要加1

回答
編輯回答
萢萢糖

如何確定“高”和“低”? 來1000個請求+1,來10個呢?來2個呢?

這個“并發(fā)”,并不是真正的并發(fā),總會有先后的。所以,你其實(shí)是定義不清楚什么情況下可以+1,什么時候又不可以+

無論怎么定義,你的需求只能加鎖來解決,關(guān)鍵是確定什么時候鎖,什么時候開鎖。。。但是如果“高并發(fā)”,鎖是一個不好的東西,所以,可能你的需求根本就是不合理的

2017年8月8日 05:11