百度網(wǎng)盤目錄展示站正式版發(fā)布!!

上次說到,花了半天時(shí)間做了個(gè)網(wǎng)盤文件目錄展示網(wǎng)站,寫的時(shí)候簡(jiǎn)化了很多困難的地方,有的朋友就覺得這個(gè)網(wǎng)站很簡(jiǎn)單,像wordpress之類的套個(gè)模板就行

以至于他出50塊向我買源碼
我真是哭笑不得,首先,會(huì)部署這個(gè)項(xiàng)目的人,根本不會(huì)有買代碼的需求,自己寫就行了,也沒有非常核心的技術(shù)。
其次這個(gè)出價(jià)是不是在侮辱我的勞動(dòng)?別人賣3000,你給我出50?對(duì)得起我掉的頭發(fā)嗎?
雖然上文說的是用半天就開發(fā)好了,但是:開發(fā)一時(shí)爽,優(yōu)化火葬場(chǎng)!
隨便說幾個(gè)比較難優(yōu)化的點(diǎn):
sql優(yōu)化問題
目錄的展示是通過網(wǎng)頁(yè)請(qǐng)求與數(shù)據(jù)庫(kù)交互來實(shí)現(xiàn)的,每次每點(diǎn)擊進(jìn)一個(gè)文件夾,后臺(tái)都要去查詢mysql數(shù)據(jù)庫(kù)中對(duì)應(yīng)的路徑信息,來實(shí)現(xiàn)該文件夾下的文件或者文件夾顯示

但是數(shù)據(jù)庫(kù)數(shù)據(jù)量巨大,每次查詢都要做一次全表掃描,速度非常慢,常常十幾秒都沒有返回結(jié)果,并且占用服務(wù)器的資源較多,網(wǎng)站容易崩潰。
本來如果是數(shù)字,或者小文本,創(chuàng)建索引就能解決這個(gè)問題,但是無(wú)奈,路徑是大文本,超過了mysql創(chuàng)建索引的最大限制
于是另辟蹊徑。這里查資料到調(diào)試就花了2天的空余時(shí)間,優(yōu)化結(jié)果基本是毫秒級(jí)返回結(jié)果

mysql優(yōu)化另一個(gè)問題就是搜索的問題。
直接使用模糊匹配來查詢的話,速度和占用資源問題并不比上一個(gè)問題輕,所以也得再想辦法。本來打算直接上一個(gè)全文檢索引擎,Django+Elasticsearch是經(jīng)典的解決模式
但是一來部署比較繁瑣,還得重新學(xué)習(xí)Elasticsearch,二是這個(gè)數(shù)量級(jí)的數(shù)據(jù)有點(diǎn)難以發(fā)揮其價(jià)值,所以選擇了另一個(gè)方式。
經(jīng)過優(yōu)化后,可以看到,也是毫秒級(jí)響應(yīng)結(jié)果

還有部署的問題,django版本,mysql版本,ngnix,uwsgi進(jìn)程守護(hù),還有網(wǎng)頁(yè)的PC端,移動(dòng)端自適應(yīng)問題等一堆的問題
最后還要解決目錄自動(dòng)同步問題,定時(shí)更新目錄。而且部署過程
這些雖然看起來不難,但是也費(fèi)時(shí)間。
最后新一版本的網(wǎng)站已經(jīng)優(yōu)化完成正式發(fā)布,體驗(yàn)網(wǎng)址:www.excelpy.cn
美化了首頁(yè),新增了介紹頁(yè),簡(jiǎn)潔風(fēng)格
最后,需要做網(wǎng)站的朋友,可以定制前端頁(yè)面,轉(zhuǎn)發(fā)本文朋友圈,雙十一最低價(jià)
