今天七夕節了,不知道大家過的是甜甜蜜蜜還是水深火熱呀,已婚老男人不配過七夕,只能默默的蹲在電腦前敲敲代碼,寫寫檔案,這不,趁著公司下午放假的功夫,我也整理了一下關于Redis的布隆過濾器和鎖的相關知識,這里分享給大家,希望能讓大家更好的學習,
簡單一點,對于互聯網開發,我們從單機到多機一直到微服務,隨著資料量的增多,對于資料庫的壓力也隨之增大,這個時候,勤勞的程式員們,將資料分為冷資料和熱點資料,然后把熱點資料存盤在快取中,提升查詢效率并且減輕資料庫的壓力,但是,這是理想環境,畢竟互聯網沒有想象中的那么平靜,
比方說下面這種情況
黑客,一個讓程式員向往但是又讓安全部門感到頭疼的人群,當上面的場景:有大量不同的key獲取后臺資料的時候該怎么處理,
在這個時候,我就不得不吹捧一波老祖宗的智慧,寧可錯殺三千,絕不放過一個的純真理念,從而產生了神奇的布隆過濾器,那布隆過濾器是怎么一個執行流程呢?繼續往下看
布隆過濾器是─個使用錯誤率來換取空間和時間的演算法錯誤率主要體現在:他說資料存在,那么不一定存在不存在,一定不存在
代碼只展示部分吧,因為完整展現太多了,沒得辦法
當然了,出現這種情況也不是只有黑客攻擊,還有一種,我想很多人都參與過,它叫做限時秒殺,比如淘寶雙十一,這個時候會造成的一種情況是大量的客戶端拿著相同的Key去后臺獲取資料,但是,這種情況,你不能通過布隆過濾器然后去不放過一個吧,那該怎么辦呢?鎖住他唄!
可能這幾張圖這么看有那么一點點的模糊,個人還有日常作業,也就沒有完整的整理形成檔案,就以圖片和簡單的文字進行了簡述,
希望對大家有幫助!文章來源:SegmentFault博客
如果你想更好的提升你的編程能力,成為一個強大的C/C++程式員!不妨和一些志同道合的小伙伴一起學習成長!
C語言C++編程學習交流圈子,Q群【757874045點擊進入】微信公眾號:C語言編程學習基地
有一些原始碼和資料分享,歡迎轉行也學習編程的伙伴,和大家一起交流成長會比自己琢磨更快哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/77744.html
標籤:其他
下一篇:計算機網路--網路層3
