用redis實現秒殺

2021-08-04 21:14:16 字數 1798 閱讀 7169

今日在研究秒殺系統,用資料庫的樂觀鎖可以實現,但是在高併發下可能並不好,所以就想到了快取系統redis,因為redis本身也有鎖機制,廢話不多說,直接上**,請大神指點不足的地方。

class a

}public class myrunnable implements runnable

@override

public void run() 進來,秒殺蘋果。。。。",name);

boolean b =  redisinfooperate.setsuccess(redistemplate, "test_redis_watch_111", "");

if(b)取走乙個蘋果,剩餘{}蘋果",name,count);

redishash.put("test_redis_watch", count);

}else沒搶到,因為賣光了",name);

}redisinfooperate.delkeylock(redistemplate, "test_redis_watch_111");

break;

}logger.info("使用者{}排隊等待中。。。。",name);

thread.sleep(500);

}catch(exception e)}}

}public class redisinfooperate

});return flag;

}/***

* 判斷key值是否存在

* @param redistemplate

* @param key

* @return    

* @return:       boolean    

* @throws

* @author        yuanxin

* @date          2023年5月25日 上午11:29:28

*/@suppresswarnings("unchecked")

public static boolean i***it(redistemplate redistemplate,final string key)

});return flag;

}/**

* 刪除併發鎖資料(防止資料太多)

* @param redistemplate

* @param key    

* @return:       void    

* @throws

* @author        yuanxin

* @date          2023年5月24日 下午3:24:56

*/@suppresswarnings("unchecked")

public static void delkeylock(redistemplate redistemplate,final string key)

});}

/***

* 模糊匹配刪除

* @param redistemplate

* @param key    

* @return:       void    

* @throws

* @author        yuanxin

* @date          2023年5月25日 上午11:29:58

*/@suppresswarnings("unchecked")

public static void delkeylockmutil(redistemplate redistemplate,final string key)

}return null ;

}});}}

用Redis輕鬆實現秒殺系統

秒殺系統,是典型的短時大量突發訪問類問題。對這類問題,有三種優化效能的思路 寫入記憶體而不是寫入硬碟 非同步處理而不是同步處理 分布式處理 用上這三招,不論秒殺時負載多大,都能輕鬆應對。更好的是,redis能夠滿足上述三點。因此,用redis就能輕鬆實現秒殺系統。用我這個方案,無論是電商平台 秒殺,...

用Redis輕鬆實現秒殺系統

秒殺系統,是典型的短時大量突發訪問類問題。對這類問題,有三種優化效能的思路 寫入記憶體而不是寫入硬碟 非同步處理而不是同步處理 分布式處理 用上這三招,不論秒殺時負載多大,都能輕鬆應對。更好的是,redis能夠滿足上述三點。因此,用redis就能輕鬆實現秒殺系統。用我這個方案,無論是電商平台 秒殺,...

用Redis輕鬆實現秒殺系統

秒殺系統,是典型的短時大量突發訪問類問題。對這類問題,有三種優化效能的思路 寫入記憶體而不是寫入硬碟 非同步處理而不是同步處理 分布式處理 用上這三招,不論秒殺時負載多大,都能輕鬆應對。更好的是,redis能夠滿足上述三點。因此,用redis就能輕鬆實現秒殺系統。用我這個方案,無論是電商平台 秒殺,...