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






