The invention provides a high critical resource processing method and system based on redis, including the steps of 1:redis message queue receives multi-threaded access to critical resources request; step 2: in the implementation of the first access request, create a redis key for access to critical resources; step 3: through the redis key the access count judgment whether the critical resource is accessed successfully, if there have been any thread access success, then returned to the rest of the thread, and end the process. The invention can solve the concurrent access problem of critical resources in a high concurrent system, and has no influence on the performance of high concurrent, and can not generate deadlocks, so as to realize the efficient processing of critical resources under high concurrency.
【技術(shù)實(shí)現(xiàn)步驟摘要】
基于redis實(shí)現(xiàn)的高并發(fā)臨界資源處理方法及系統(tǒng)
本專利技術(shù)涉及互聯(lián)網(wǎng)臨界資源處理
,具體地,涉及基于redis實(shí)現(xiàn)的高并發(fā)臨界資源處理方法及系統(tǒng)。
技術(shù)介紹
在互聯(lián)網(wǎng)大用戶高并發(fā)的情況下,對于某些臨界節(jié)點(diǎn),為了避免并發(fā)的影響,通常會使用加鎖等機(jī)制,來保護(hù)臨界資源,避免多線程并發(fā)異常。加鎖本身也是一種常見的技術(shù),缺點(diǎn)是當(dāng)一個線程獲取到鎖之后,其他線程只能等待,直到釋放鎖,其他線程才能繼續(xù)執(zhí)行。在高并發(fā)情況下,對系統(tǒng)效率有很大的影響,并且因為鎖的存在,可能會導(dǎo)致系統(tǒng)死鎖的發(fā)生。另外,對于大容量的系統(tǒng),通常會通過負(fù)載均衡來做服務(wù)器的水平擴(kuò)展從而增加服務(wù)器的容量,在這種情況下,即使加鎖也無法處理多個服務(wù)器之間的并發(fā)問題。redis是一個高性能的內(nèi)存數(shù)據(jù)庫。redis使用單進(jìn)程單線程模式,可以保證并發(fā)順序。內(nèi)存數(shù)據(jù)庫,所有操作通過內(nèi)存直接處理,效率極高,每秒可以處理高達(dá)800-1000萬個請求,并支持分布式集群配置。利用redis的這個特點(diǎn),可以輕松處理高并發(fā)情況下的臨界資源問題。
技術(shù)實(shí)現(xiàn)思路
針對現(xiàn)有技術(shù)中的缺陷,本專利技術(shù)的目的是提供一種基于redis實(shí)現(xiàn)的高并發(fā)臨界資源處理方法及系統(tǒng)。根據(jù)本專利技術(shù)提供的基于redis實(shí)現(xiàn)的高并發(fā)臨界資源處理方法,包括如下步驟:步驟1:redis的消息隊列接收到多線程訪問臨界資源的請求;步驟2:在執(zhí)行第一個訪問請求時,為待訪問的臨界資源創(chuàng)建一個redis鍵值;步驟3:通過redis鍵值的訪問計數(shù)判斷臨界資源是否被訪問成功,若已經(jīng)有任一個線程訪問成功,則退回其余線程,并結(jié)束流程。優(yōu)選地,所述步驟3包括:判斷redis鍵值的 ...
【技術(shù)保護(hù)點(diǎn)】
一種基于redis實(shí)現(xiàn)的高并發(fā)臨界資源處理方法,其特征在于,包括如下步驟:步驟1:redis的消息隊列接收到多線程訪問臨界資源的請求;步驟2:在執(zhí)行第一個訪問請求時,為待訪問的臨界資源創(chuàng)建一個redis鍵值;步驟3:通過redis鍵值的訪問計數(shù)判斷臨界資源是否被訪問成功,若已經(jīng)有任一個線程訪問成功,則退回其余線程,并結(jié)束流程。
【技術(shù)特征摘要】
1.一種基于redis實(shí)現(xiàn)的高并發(fā)臨界資源處理方法,其特征在于,包括如下步驟:步驟1:redis的消息隊列接收到多線程訪問臨界資源的請求;步驟2:在執(zhí)行第一個訪問請求時,為待訪問的臨界資源創(chuàng)建一個redis鍵值;步驟3:通過redis鍵值的訪問計數(shù)判斷臨界資源是否被訪問成功,若已經(jīng)有任一個線程訪問成功,則退回其余線程,并結(jié)束流程。2.根據(jù)權(quán)利要求1所述的基于redis實(shí)現(xiàn)的高并發(fā)臨界資源處理方法,其特征在于,所述步驟3包括:判斷redis鍵值的訪問計數(shù),若訪問計數(shù)為0時,則允許訪問臨界資源,并將訪問計數(shù)自增1;若訪問計數(shù)大于0,則認(rèn)為某線程獲取了所述臨界資源的訪問,結(jié)束流程。3.一種...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:馬吉峰,岳偉,姬雪潔,
申請(專利權(quán))人:上海時年信息科技有限公司,
類型:發(fā)明
國別省市:上海,31
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。