redis的key或是計數器有沒有遞減的功能?
ringa_lee
ringa_lee 2017-04-21 11:17:22
0
3
749

比如現在想實現類似一個秒殺的功能,10個用戶搶2個商品,redis或者memcache或者其它的nosql產品,有沒有類似的功能,就是我有個計數器(庫存,比如等於2)然後,開始搶商品的時候,前2個用戶,已經將庫存減到0了,當第3個人來搶的時候,計數器不會變為-1,而是還是為0,並且這個操作會返回一個操作失敗,或者類似於mysql的返回影響行數為0的這種反饋信息,讓我知道的?

ringa_lee
ringa_lee

ringa_lee

全部回覆(3)
迷茫

reids 有DECR(原子遞減),memcache也有decrement功能,他們的區別是,redis的原子遞減到0了會變成負數,而memcache的會一直為0

小葫芦

沒有。會變成-1,恐怕你要自行判斷了。

伊谢尔伦

樂觀鎖 解決

不檢查鎖 直接通過 但是通過後核對版本號 正確不操作 否則回滾(需要事物支援)

有個問題就是 可能2,3次序的用戶沒搶到 4,5次序的搶到了(這種情況你寫一個demo測試一下就清楚了)

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板