1、本項目從抽象到實現(xiàn)闡述了如何利用redis實現(xiàn)分布式鎖,完成簡單的秒殺功能 2、項目主要用到的redis鎖的概念 秒殺中需要考慮的問題點: 1、既然有并發(fā)問題,那我就讓他“不并發(fā)”,將所有的線程用一個隊列管理起來,使之變成串行操作,自然不會有并發(fā)問題。 2、秒殺在技術(shù)層面的抽象應(yīng)該就是一個方法,在這個方法里可能的操作是將商品庫存-1,將商品加入用戶的購物車等等,在不考慮緩存的情況下應(yīng)該是要操作數(shù)據(jù)庫的。那么最簡單直接的實現(xiàn)就是在這個方法上加上synchronized關(guān)鍵字,通俗的講就是鎖住整個方法; 3、鎖住整個方法這個策略簡單方便,但是似乎有點粗暴。可以稍微優(yōu)化一下,只鎖住秒殺的代碼塊,比如寫數(shù)據(jù)庫的部分; |