鄭元稍作思索。
目前寧辰澤所面對的主要是性能瓶頸。
一旦學(xué)生會(huì)有什么活動(dòng),高峰訪問時(shí),數(shù)據(jù)庫就繃不住,導(dǎo)致網(wǎng)站訪問出現(xiàn)各種各樣的問題。
從基本的優(yōu)化角度來考慮,肯定是優(yōu)化代碼或者查詢語句。
但是鄭元又看不到寧辰澤寫的代碼,況且該別人的代碼是件很頭疼的事情。
而且聽寧辰澤的說法,代碼上的優(yōu)化他已經(jīng)做過了許多了。
自己也沒必要在這方面再提要求。
“那么是不是可以從架構(gòu)層面考慮優(yōu)化。”
鄭元轉(zhuǎn)變思路。
同時(shí)鄭元想到了阿云集團(tuán)淘寶網(wǎng)站的技術(shù)演變。
淘寶網(wǎng)站最開始也遇到類似寧辰澤似的問題。
當(dāng)時(shí)的技術(shù)演變是,在硬件上換成ibm的高性能機(jī)器,數(shù)據(jù)庫換成oracle,編程語言從php換成Java。
架構(gòu)上增加緩存系統(tǒng)和搜索引擎來緩解數(shù)據(jù)庫訪問的壓力。
寧辰澤的管理網(wǎng)站也完全可以借鑒經(jīng)驗(yàn)。
換服務(wù)器,數(shù)據(jù)庫,編程語言顯然沒這財(cái)力和精力。
倒是從架構(gòu)上增加緩存系統(tǒng)是個(gè)不錯(cuò)思路。
所謂緩存系統(tǒng)是存儲(chǔ)一些高頻的數(shù)據(jù),用戶在訪問這些高頻數(shù)據(jù)時(shí),直接從緩存中讀取,而不必查詢數(shù)據(jù)庫。
這樣就能降低數(shù)據(jù)庫訪問的壓力,且緩存中的數(shù)據(jù)大多數(shù)情況都是存內(nèi)存,訪問也更高效。
但是緩存里查不到的數(shù)據(jù),還是要在數(shù)據(jù)庫中查找。
說白了,緩存系統(tǒng)在數(shù)據(jù)庫的上一層。
“對啊,加個(gè)緩存系統(tǒng)性能一定能得到大幅度提升?!?
鄭元打字道:“可以考慮加緩存啊?!?
翹首以盼中鄭元終于發(fā)話了。
班級群內(nèi)無人答復(fù)。
同學(xué)們知識(shí)淺薄,不知道鄭元說的對不對,也不知道該如何接鄭元的話,甚至有的人連緩存是什么都不知道。
大神之間的技術(shù)研討,他們看看戲就好,其他的交給老譚和學(xué)長進(jìn)行裁判。
趙狄秋一臉懵逼,緩存是什么他也不是太清楚。
不過聽著挺高深的樣子,元子應(yīng)該不會(huì)錯(cuò)。
現(xiàn)在自己可是元子的堅(jiān)定擁護(hù)者,管元子說什么,先支持一波,看群里都沒人發(fā)話,是不是該表現(xiàn)一下?
不然寧黨那邊的黃框還以為我們示弱了呢。
趙狄秋準(zhǔn)備打字,楊銘恩連忙制止。
“你特么的傻叉吧,這個(gè)時(shí)候湊什么熱鬧?!?
趙狄秋辯解道:“聲援元子啊?!?
楊銘恩道:“你懂個(gè)屁,看老譚怎么說。”
楊銘恩就納悶了這趙狄秋什么腦回路,正戲開始了,你一個(gè)小丑還跑上臺(tái)干啥。
一點(diǎn)人情世故都不懂。
“元子說加緩存,具體什么意思,又怎么實(shí)現(xiàn)?”
楊銘恩在思考剛才鄭元提出的優(yōu)化策略。
他在上計(jì)算機(jī)系統(tǒng)這門科目的時(shí)候是聽說過緩存這個(gè)概念。
但實(shí)際工程開發(fā)中如何使用緩存可沒人教過。
“元子有點(diǎn)東西啊?!?
另一邊的譚宗強(qiáng)和王粵東看到回答后都是心中一喜。
這鄭元果然有兩下子,說到點(diǎn)上了。
不過還是要考考他,吾愛吃米粉發(fā)問道:“那你能解釋解釋為什么要加緩存嗎?”
元子答道:“主要是為了減少數(shù)據(jù)庫訪問,分擔(dān)數(shù)據(jù)庫的壓力?!?
“因?yàn)槟壳扒闆r很明顯是并發(fā)引起的性能問題,訪問服務(wù)一多了,都來查詢數(shù)據(jù)庫,資源有限情況下,數(shù)據(jù)庫撐不住這么多的訪問,就會(huì)崩潰,表現(xiàn)上就是用戶打開網(wǎng)頁緩慢,甚至有時(shí)候網(wǎng)頁加載不出來?!?
“我通過增加緩存的方式,把一些高頻數(shù)據(jù)放在緩存里,這樣對應(yīng)這些高頻數(shù)據(jù)的訪問服務(wù),就不用從數(shù)據(jù)庫中查詢,而且緩存系統(tǒng)數(shù)據(jù)一般都是存內(nèi)存,訪問也更加快速,效率也更高?!?
“這樣的架構(gòu)設(shè)計(jì),就可以緩解數(shù)據(jù)庫的壓力,同時(shí)還能提高查詢效率,性能自然就上來了?!?
鄭元一口氣道。
群內(nèi)的同學(xué)看著鄭元的發(fā)話若有所思,雖不太懂,但感覺挺對的。
譚老師和夏學(xué)長也沒表態(tài),他們也只能繼續(xù)觀望。
教師辦公室內(nèi)。
譚宗強(qiáng)直叫好,鄭元回答的很不錯(cuò),間接證明他成績是真實(shí)的,班級中技術(shù)算頂尖的。
王粵東也暗自高興,臥槽我們計(jì)算機(jī)系又發(fā)現(xiàn)好苗子了,老譚班可以啊。
對話還要接著下去,繼續(xù)探探鄭元的底。
吾愛吃米粉道:“那我具體用什么做緩存?工程代碼要做什么改進(jìn)?!?
鄭元納悶,怎么這夏延學(xué)長像個(gè)考官似的,一直都是他在發(fā)問。
敢情真的是來招募人才的,我這表現(xiàn)太好,估計(jì)已經(jīng)被他注意上了。臥槽,我不想加入他的團(tuán)隊(duì),我那么叼,為啥跟著你們一群小毛孩干。
不該裝逼啊,都怪趙狄秋。
鄭元有些后悔,他只想搞錢,其他不多做關(guān)注。
后悔歸后悔,逼都已經(jīng)裝了,不能半途而廢。
鄭元道:“用redis數(shù)據(jù)庫做緩存,工程代碼上把原先數(shù)據(jù)庫查詢的邏輯模塊里增加緩存查詢,并按照我上面所說的邏輯,進(jìn)行實(shí)現(xiàn)。”
吾愛吃米粉道:“你知道redis?”
這種特殊的數(shù)據(jù)庫大學(xué)課程里可是沒有教的,鄭元怎么知道的。
鄭元:“私下自學(xué)的?!?
鄭元尷尬,裝逼是不是裝的有點(diǎn)過了,有著不符合二本大學(xué)生應(yīng)有的技術(shù)實(shí)力啊。
吾愛吃米粉:“不錯(cuò),不錯(cuò)?!?
辦公室內(nèi),王粵東直接站了起來,:“老譚,我對鄭元得表現(xiàn)很滿意,他的技術(shù)實(shí)力不用懷疑,考試分?jǐn)?shù)是真實(shí)的,這次技術(shù)問答能證明?!?
譚宗強(qiáng)也滿臉堆笑,畢竟夸的是自己學(xué)生,技術(shù)不錯(cuò),那也是我老譚教出來的,臉上有光啊。
“太可以了,都知道自學(xué)。”王粵東又補(bǔ)充道?!皉edis數(shù)據(jù)庫大學(xué)內(nèi)容是沒有的,但在實(shí)際開發(fā)中經(jīng)常會(huì)用到,鄭元能夠私下鉆研,看來平時(shí)沒事也是會(huì)開發(fā)些項(xiàng)目,這種人有資格加入夏延的團(tuán)隊(duì)。”
譚宗強(qiáng)臉黑,敢情我這個(gè)老師就沒有一點(diǎn)教導(dǎo)的功勞是吧,而且最后一句聽著怎么那么不是味,合著我就送財(cái)童子,把班里人才都送你學(xué)生的團(tuán)隊(duì)里。
王粵東繼續(xù)道:“鄭元我是越來越感興趣,突然崛起,有點(diǎn)意思?!?
譚宗強(qiáng)道:“行了行了,事還沒完呢?!?
王粵東才想到群里還沒答復(fù)鄭元呢,而且也該表下態(tài)了。
吾愛吃米粉道:“嗯,鄭元同學(xué)挺有想法,加入緩存的確是一種好的優(yōu)化思路?!?
“你有資格加入我的開發(fā)團(tuán)隊(duì),下周一可以到創(chuàng)業(yè)中心去看看?!?
看到這,班級群的同學(xué)意識(shí)到這事算是蓋棺了,被夏延學(xué)長認(rèn)可,鄭元的優(yōu)化思路是對的啊。