百度网盘目录展示站正式版发布!!
上次说到,花了半天时间做了个网盘文件目录展示网站,写的时候简化了很多困难的地方,有的朋友就觉得这个网站很简单,像wordpress之类的套个模板就行
以至于他出50块向我买源码
我真是哭笑不得,首先,会部署这个项目的人,根本不会有买代码的需求,自己写就行了,也没有非常核心的技术。
其次这个出价是不是在侮辱我的劳动?别人卖3000,你给我出50?对得起我掉的头发吗?
虽然上文说的是用半天就开发好了,但是:开发一时爽,优化火葬场!
随便说几个比较难优化的点:
sql优化问题
目录的展示是通过网页请求与数据库交互来实现的,每次每点击进一个文件夹,后台都要去查询mysql数据库中对应的路径信息,来实现该文件夹下的文件或者文件夹显示
但是数据库数据量巨大,每次查询都要做一次全表扫描,速度非常慢,常常十几秒都没有返回结果,并且占用服务器的资源较多,网站容易崩溃。
本来如果是数字,或者小文本,创建索引就能解决这个问题,但是无奈,路径是大文本,超过了mysql创建索引的最大限制
于是另辟蹊径。这里查资料到调试就花了2天的空余时间,优化结果基本是毫秒级返回结果
mysql优化另一个问题就是搜索的问题。
直接使用模糊匹配来查询的话,速度和占用资源问题并不比上一个问题轻,所以也得再想办法。本来打算直接上一个全文检索引擎,Django+Elasticsearch是经典的解决模式
但是一来部署比较繁琐,还得重新学习Elasticsearch,二是这个数量级的数据有点难以发挥其价值,所以选择了另一个方式。
经过优化后,可以看到,也是毫秒级响应结果
还有部署的问题,django版本,mysql版本,ngnix,uwsgi进程守护,还有网页的PC端,移动端自适应问题等一堆的问题
最后还要解决目录自动同步问题,定时更新目录。而且部署过程
这些虽然看起来不难,但是也费时间。
最后新一版本的网站已经优化完成正式发布,体验网址:www.excelpy.cn
美化了首页,新增了介绍页,简洁风格
最后,需要做网站的朋友,可以定制前端页面,转发本文朋友圈,双十一最低价