七夕不孤!單身程序員源碼講解:redis布隆算法實現(xiàn)數(shù)據(jù)鎖!

今天七夕節(jié)了,不知道大家過的是甜甜蜜蜜還是水深火熱呀,已婚老男人不配過七夕,只能默默的蹲在電腦前敲敲代碼,寫寫文檔,這不,趁著公司下午放假的功夫,我也整理了一下關(guān)于Redis的布隆過濾器和鎖的相關(guān)知識,這里分享給大家,希望能讓大家更好的學習。

簡單一點,對于互聯(lián)網(wǎng)開發(fā),我們從單機到多機一直到微服務(wù),隨著數(shù)據(jù)量的增多,對于數(shù)據(jù)庫的壓力也隨之增大,這個時候,勤勞的程序員們,將數(shù)據(jù)分為冷數(shù)據(jù)和熱點數(shù)據(jù),然后把熱點數(shù)據(jù)存儲在緩存中,提升查詢效率并且減輕數(shù)據(jù)庫的壓力,但是,這是理想環(huán)境,畢竟互聯(lián)網(wǎng)沒有想象中的那么平靜。
比方說下面這種情況

黑客,一個讓程序員向往但是又讓安全部門感到頭疼的人群,當上面的場景:有大量不同的key獲取后臺數(shù)據(jù)的時候該怎么處理,
在這個時候,我就不得不吹捧一波老祖宗的智慧,寧可錯殺三千,絕不放過一個的純真理念,從而產(chǎn)生了神奇的布隆過濾器,那布隆過濾器是怎么一個執(zhí)行流程呢?繼續(xù)往下看
布隆過濾器是─個使用錯誤率來換取空間和時間的算法錯誤率主要體現(xiàn)在:他說數(shù)據(jù)存在,那么不一定存在不存在,一定不存在

代碼只展示部分吧,因為完整展現(xiàn)太多了,沒得辦法



當然了,出現(xiàn)這種情況也不是只有黑客攻擊,還有一種,我想很多人都參與過,它叫做限時秒殺,比如淘寶雙十一,這個時候會造成的一種情況是大量的客戶端拿著相同的Key去后臺獲取數(shù)據(jù),但是,這種情況,你不能通過布隆過濾器然后去不放過一個吧,那該怎么辦呢?鎖住他唄!

可能這幾張圖這么看有那么一點點的模糊,個人還有日常工作,也就沒有完整的整理形成文檔,就以圖片和簡單的文字進行了簡述。
希望對大家有幫助!文章來源:SegmentFault博客
如果你想更好的提升你的編程能力,成為一個強大的C/C++程序員!不妨和一些志同道合的小伙伴一起學習成長!

另外,UP在主頁上傳了一些學習C/C++編程的視頻教程,有興趣或者正在學習的小伙伴一定要去看一看哦!會對你有幫助的~