




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
我發(fā)現(xiàn),很多人是缺乏好奇心的,突出表現(xiàn)在只知其然,不知其所以然,不思考和挖給你舉個(gè)小例子。剛開始接觸Redis時(shí),你肯定聽一句話,Redis是單線程,高性客戶端的網(wǎng)絡(luò)請(qǐng)求呢?采用單線程的話,只能用到一個(gè)CPU,怎么達(dá)到高性能呢順著這個(gè)思路去學(xué)習(xí)的話,你就會(huì)發(fā)現(xiàn),Redis雖然采用了單線程,但是它使用了多路復(fù)用技術(shù),可以處理多個(gè)客戶端的網(wǎng)絡(luò)請(qǐng)求。而且,它的數(shù)據(jù)都在內(nèi)存中,再加上高效你看,帶著好奇心去看問題,最終我們得到的遠(yuǎn)遠(yuǎn)超出想象。所以,我們要保持好奇心和深入探究的精神,它是我們不斷進(jìn)步的驅(qū)動(dòng)力。我要說的第二點(diǎn),就是不要給自己設(shè)限不要沒有做任何嘗試,就先去說“我做不到”。如果你這樣做,就相當(dāng)于提前放棄了自己的成長(zhǎng)機(jī)會(huì)。我特別喜歡的一個(gè)心態(tài)是:“我現(xiàn)在雖然不會(huì),但是只要給我時(shí)間,我就能說到這兒,給你一個(gè)我的小故事之前我在業(yè)務(wù)部門做開發(fā)時(shí),大部分時(shí)間都在寫業(yè)務(wù)代碼,對(duì)Redis只停留在“會(huì)后來一個(gè)偶然的機(jī)會(huì),我可以去公司的基礎(chǔ)架構(gòu)部門做數(shù)據(jù)庫(kù)中間件相關(guān)的工作。我當(dāng)時(shí)非常猶豫:一方面,我知道,這個(gè)工作要求熟練掌握Reis的方方面面,難度非常高,我覺得我可能無法勝任;但另一方面,我也非常想踏出舒適區(qū),突破一下自己。最終,我還是選擇了接受。剛開始時(shí),我確實(shí)遭遇了難以,比如說不熟悉Redis的運(yùn)行原理、看Reis源碼時(shí)一頭霧水、在系統(tǒng)發(fā)生問題時(shí)不知所措等等。還好,面對(duì)壓力,我的斗志被激發(fā)了,于是就瘋狂地惡補(bǔ)數(shù)據(jù)結(jié)構(gòu)、網(wǎng)絡(luò)協(xié)議、操作系統(tǒng)等知識(shí),一行行地去啃源碼……真正走出舒適區(qū)之后,我看到了自己的飛速成長(zhǎng)和進(jìn)步,不僅很快就勝任了新工作,而且,我越來越自信了。之后,每次遇到新問題的時(shí)候,不會(huì)害怕了,因?yàn)槲抑?,只要花時(shí)間去研究,就可以搞定一切。自己設(shè)限。你要相信,你的潛能會(huì)隨著你的壓力而被激發(fā)出來,而且它的巨大有了學(xué)習(xí)意愿還不夠,我們還要快速地找到科學(xué)有效的學(xué)習(xí)方法,這樣才能事半功首先,我們要學(xué)會(huì)快速地搜集自己需要的資料。在搜索的時(shí)候,我們要盡量簡(jiǎn)化檢索的內(nèi)容,避免無用的,例如,如果想要搜索“Reis哨兵集群在時(shí)是如何達(dá)成共識(shí)的”這個(gè)問題,我一般會(huì)搜索“Reissenielraft”,這樣只搜索重點(diǎn)詞匯,得到的結(jié)果會(huì),也更符合我們想要的結(jié)果。如果在查資料時(shí),遇到了細(xì)節(jié)問題,找不到答案,不要猶豫,一定要去看源碼。源碼是客觀的,是最細(xì)節(jié)的表現(xiàn),不要只會(huì)從別人那里獲取東西,要學(xué)著自己動(dòng)手覓食,而源碼,比如說,Reis的tring數(shù)據(jù)類型底層是由SDS實(shí)現(xiàn)的,當(dāng)要修改的ale長(zhǎng)度發(fā)生變更時(shí),如果原來的內(nèi)存空間不足以新內(nèi)容,DS就需要重新申請(qǐng)內(nèi)存空間,進(jìn)行擴(kuò)容,那么,每次擴(kuò)容時(shí),會(huì)申請(qǐng)多大的內(nèi)存呢?如果你看到了sds.c中的sdsMakeRoomFor函數(shù),就會(huì)知道,當(dāng)需要申請(qǐng)的內(nèi)存空間小于1MB時(shí),SDS會(huì)申請(qǐng)1倍的內(nèi)存空間,這樣就可以避免后面頻繁申請(qǐng)內(nèi)存而導(dǎo)致的性能開銷;當(dāng)需要申請(qǐng)的內(nèi)存空間大于1MB時(shí),為了避免內(nèi)存浪費(fèi),每次擴(kuò)容時(shí)就只申請(qǐng)1MB的內(nèi)存空間。類似于這樣的問題,我們都能很快地從源碼中找到答案。很多人都覺得看源碼很難,不愿意走出這一步,剛開始我也是這樣的,但是后來有一天,我突然想到了“二八定律”。我所理解的“二八定律”,就是80%的人甘于平庸,遇到稍微難一點(diǎn)的問題就會(huì)停下腳步;而另外20%的人,一直不愿意停留在舒適區(qū),只要目標(biāo),就會(huì)一直向前走。我當(dāng)然希望自己是那20%的人。所以,每次我覺得有壓力度的時(shí)候,我就會(huì)告訴自己,得堅(jiān)持下去,這樣才能80%的人。不得不說,這招兒還另外,我還想說,掌握新知識(shí)最好的方式,就是把它講給別人聽,或者是寫成文尤其是在寫文章的時(shí)候,我們需要確定文章的結(jié)構(gòu),梳理知識(shí)點(diǎn)的脈絡(luò),還要組織語言,在這個(gè)過程中,我們會(huì)把一些零碎的內(nèi)容轉(zhuǎn)化為體系化、結(jié)構(gòu)化的知識(shí)。那些散亂的點(diǎn),會(huì)形成一棵“知識(shí)樹”,這不僅方便我們,而且,在復(fù)習(xí)的時(shí)候,只需要找到“樹干”,就能延伸到“”,舉一反三。例如,我在寫《Redis如何持久化數(shù)據(jù)》這篇文章的時(shí)候,就已經(jīng)知道了RDB+AOF兩種方式,但在寫的過程中,我發(fā)現(xiàn)自己并不清楚具體的細(xì)節(jié),比如,為什么生成的RDB文件這么小,這是如何做到的?RDB和AOF分別適合用在什么場(chǎng)景中呢?翻閱源碼之后,我才發(fā)現(xiàn),RDB文件之所以很小,一方面是因?yàn)樗氖嵌M(jìn)制數(shù)據(jù),另一方面,Redis針對(duì)不同的數(shù)據(jù)類型做了進(jìn)一步的壓縮處理(例如數(shù)字采用int編碼存儲(chǔ)),這就進(jìn)一步節(jié)省了空間。所以,RDB更適合做定時(shí)的快照備份和主從全量數(shù)據(jù)同步,而AOF實(shí)時(shí)記錄的每個(gè)變更操作,更適合用在對(duì)數(shù)據(jù)完整性和安全性要求更高的這種用輸出反哺輸入的方式,也是強(qiáng)化收獲的一種有效,心建議你也試一試擁有了好奇心,也找到了合適的方法,也并不是萬事大吉了。我們可能還會(huì)一個(gè)問進(jìn)。想一下,工作時(shí),什么時(shí)候效率最高?是不是接近deadline的時(shí)候呢?這就說明,當(dāng)我們有目標(biāo)、有壓力的時(shí)候,才會(huì)有動(dòng)力、有效率地去執(zhí)行。所以,我常用的一個(gè)方法是,在學(xué)習(xí)某個(gè)領(lǐng)域的知識(shí)時(shí),我會(huì)先按照從易到難的順序,把它拆解成一個(gè)個(gè)大的模塊,確定大框架的學(xué)習(xí)目標(biāo);接著,我會(huì)繼續(xù)細(xì)化每個(gè)模塊,細(xì)化到一看到這個(gè)任務(wù)就知道立馬應(yīng)該做什么的程度。同時(shí),我還會(huì)給每項(xiàng)任務(wù)制定一個(gè)ealie。簡(jiǎn)單舉個(gè)例子。我在學(xué)習(xí)Redis的基礎(chǔ)數(shù)據(jù)類型時(shí),首先確定了String、List、Hash、Set、SortedSet五大模塊。接著,我又對(duì)每個(gè)模塊繼續(xù)進(jìn)行拆分,例如,Hash型底層實(shí)現(xiàn)可以拆分成“壓縮列表+哈希表”這兩種數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn),接下來,我就繼續(xù)細(xì)化這怎么完成這些小目標(biāo)呢?我采用的方式是用番茄工作法完成這些任務(wù)。同時(shí),我會(huì)把靜音,放在自己夠不到的地方。等一個(gè)番茄鐘(25分鐘)結(jié)束后,休息5分鐘,調(diào)整下狀態(tài),然后再投入到一個(gè)番茄任務(wù)中。在實(shí)施的過程中,我們可能會(huì)遇到一些阻礙,比如說某個(gè)任務(wù)比想象中的難。這個(gè)時(shí)候,我會(huì)嘗試多用幾個(gè)番茄鐘去攻克它,或者是把它的優(yōu)先級(jí)向后放,先完成其他的番茄任務(wù),最后再花時(shí)間去解決比較難的問題。最后,我還想再說一點(diǎn),就是要投入足夠多的時(shí)間。不要總是抱怨想要的得不到,在抱怨之前,你要先想,有沒有遠(yuǎn)超出他人的投入和付出。想要走在別人的前面,就要準(zhǔn)備有時(shí)候,可能你會(huì)覺得,學(xué)習(xí)某一個(gè)領(lǐng)域的技術(shù)感覺很枯燥,因?yàn)榧?xì)節(jié)很多、很繁瑣,但這都是很正常的?,F(xiàn)在我們所看到的每一項(xiàng)技術(shù),都是開發(fā)者多年的總結(jié)和提煉的成果,它本身就是嚴(yán)肅的,你必須花足夠多的時(shí)間去分析、研究、思考,沒有捷徑。不知道你沒有遇到這種情況,當(dāng)你看完一篇技術(shù)文章時(shí),可能以為自己已經(jīng)掌握了這些知識(shí)點(diǎn),但是,如果別人稍微問一下相關(guān)的知識(shí)點(diǎn),你可能就答不上來了。這就是因?yàn)椋銓W(xué)到的東西是碎片化的,并沒有形成知識(shí)體系。另一方面,不要幻想著只在地鐵上學(xué)一會(huì)兒,就能把它學(xué)會(huì),這樣就有點(diǎn)太高估自己了。因?yàn)樵诤芏痰臅r(shí)間內(nèi),我們沒有辦法深入地去思考,去深入了解這個(gè)知識(shí)點(diǎn)的前因。你必須在晚上或者周末抽出一整塊時(shí)間,去理清每個(gè)知識(shí)點(diǎn)之間的關(guān)系和邊界,必要時(shí)還需要?jiǎng)邮謱?shí)踐。今天,我跟你了我的一些學(xué)結(jié),包括領(lǐng)先別人一步的心理建設(shè),事半功倍的學(xué)習(xí)這些道理其實(shí)很簡(jiǎn)單,也很容易理解,但是能真正做到的,也只有20人,甚至是更26人覺得很贊|提建議 不得售賣。頁(yè)面已增加防盜追蹤,將依 上一 加餐(二)|Kaito:我是如何學(xué)習(xí)Redis的下
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中小學(xué)安全教育題庫(kù)及答案解析
- 南通危險(xiǎn)品從業(yè)資格考試及答案解析
- 消防員作戰(zhàn)訓(xùn)練安全題庫(kù)及答案解析
- 高校元旦文藝匯演活動(dòng)策劃方案
- 走出校園為話題的初中作文(7篇)
- 個(gè)性化教學(xué)方案與溫度測(cè)量練習(xí)
- 消防中控員崗前培訓(xùn)考試題及答案解析
- 情態(tài)動(dòng)詞的使用技巧:九年級(jí)英語情感態(tài)度教案
- 老年護(hù)理考試題庫(kù)50及答案解析
- 淘消費(fèi)者崗前新人考試及答案解析
- 蔣婷婷-《書包里的故事》
- 肌少癥性肥胖
- 送電線路工程成品保護(hù)方案
- GB/T 17410-2023有機(jī)熱載體爐
- 國(guó)家開放大學(xué)理工英語1邊學(xué)邊練
- 人工智能導(dǎo)論P(yáng)PT完整全套教學(xué)課件
- 如何提高住院患者癌痛規(guī)范化治療率PDCA
- 卡氏肺孢子蟲肺炎
- 陜中醫(yī)大西醫(yī)外科學(xué)教案05水、電解質(zhì)代謝和酸堿平衡的失調(diào)
- TDSHXH 002-2022 工業(yè)干冰規(guī)程
- 肺癌患者隨訪服務(wù)記錄表
評(píng)論
0/150
提交評(píng)論