公開課 redis秒殺和公開鎖 1

2022-01-10 10:47:08 字數 1403 閱讀 9093

本節課我看了2遍, 為什麼看兩遍呢? 將思想層面的比較多. 而不僅僅是技術. 其實, 技術是死的. 技術點就那麼多. 思想是活的, 怎麼想問題, 才是關鍵. 

現在不缺少會寫**的人,也就是執行層面的人. 缺少的是回想的人, 能解決辦法的人. 只有突破了思想層面, 才有可能上公升. 

以前, 一門技術, 拿來就學, 學完就用, 可是, 很少思考為什麼要用? 憑什麼用這個不用那個? 這個技術是怎麼好的, 好在**? 

以後, 要知道根源. 我用你, 那我要給出理由, 為什麼用你. 如果不用, 也要給出原因, 為什麼不用. 而不是盲目跟風. 大家都在用, 我也用.

學習技術, 要向上昇華, 就要有思想. 

現在要思考的問題不是怎麼用......而是, 為什麼用?   

1. 儲存的選型

2. 為什麼會有redis?

3. redis秒殺可以做什麼?

4. 分布式辯證鎖

1. 儲存的選型. 

第乙個問題: 解釋了, 儲存資料為什麼會用list, 為什麼會用hashtable. 而不是怎麼用.

假設, 有100個資料, 我要想存這100個資料, 怎麼存呢? 最開始, 我們會把他存在陣列裡, 或者煉表裡. 

那麼這個時候, 存上了, 不是目的, 肯定要用, 比如取資料, 假如我要從陣列或者鍊錶中取資料, 最大的複雜度是多少? 

沒錯是o(n), 也就是說, 10個資料, 我要找的那個資料, 就要迴圈遍歷, 最大的遍歷次數就是在最後乙個找到, 遍歷10次, 那要是有100個資料呢, o(n)就是100,  10000個資料呢?o(n) 是10000

數字越大, 那麼取資料的速度, 就越慢. 效能就越低. 這樣肯定不行. 

於是, 我們就要想辦法, 怎麼才能更快速的取資料呢? 比如, 現在最大的遍歷次數是o(10), 我能不能讓他變成o(4)? 或者更小呢? 

這就引入了分治的思想. 將這些資料分成4個片. 然後讓資料的hashcode對4取模. 將資料讓道對應的片裡

假如,現在有4片, 那麼隨便乙個數字2678/4取模後的結果, 隸屬於哪一片, 那就放到那一片裡. 存的時候這樣存, 那麼取的時候怎麼取呢? 去的資料的hashcode值對4取模看看屬於那一片,然後去那一片取出資料就ok了. 

接下來, 那麼如果資料量越來越大, 4片速度也很慢, 怎麼辦呢? 我們可以縱向擴充套件, 繼續增加更多的片.

其實, 這就是hashtable的思想. 也就是hashtable怎麼來的? 他肯定是在鍊錶或者陣列處理資料的時候遇到了問題, 才引入的hashtable.

下面來分析hashtable思想. 

公開課小結

馬上要畢業找工作了,作為小弱雞的我心裡不停再說 好慌啊好慌啊!so,跑到網易雲課堂學了幾門公開課,來這裡寫個總結,問我為什麼來csdn寫,因為我只有這乙個部落格啊 1 edp 職業生涯規劃不過若此 接下來,列舉一些我做的筆記,有些亂只能慢慢整理了。1 swot分析 strength 優勢 劣勢 we...

網路公開課推薦

閒話不多說,現在開始推薦 1.耶魯大學 博弈論 大一我買過一本張維迎的 博弈論 寫的非常晦澀,讓沒有任何基礎的人難以掌握要領.這個公開課堪稱經典,從乙個個具體例項出發推導出實用的結論.2.耶魯大學 死亡 這門課要著重推薦,作為一門哲學課程,看完之後基本讓我信仰了唯物主義.大四的時候很有空,我抱著電腦...

ANSYS公開課圓滿落幕

ansys公開課圓滿落幕 技術最初主要應用於軍事領域,從20 世紀50年代至今,隨著計算機技術的發展,計算機 技術開始大規模的應用於儀器儀表 虛擬製造 電子產品設計 訓練等人們生產 生活的各個方面。目前,計算機 行業已經成為代表國家關鍵技術和科研核心競爭能力,並具有相當規模的產業,隨著當今產品的複雜...