个人随笔
目录
对首页以及博文加载优化的思路和想法
2019-04-18 00:49:15

开始,为了保证用户的体验,首页和博文页面都用的异步,速度体验是比较好了,但是这样子对SEO不够友好,然后这里改为首页的第一页采用同步的逻辑,博文就完全是采用同步的逻辑,然后现在发现,因为应用所部属的阿里云服务器的内存是1G,上行带宽是1Mb/s,也就是传说中的128KB/s,这种情况下肯定会卡的,因此得想办法。

这种情况,我觉得可以借助redis来,首先首页显示的不应该是时时更新的,最起码第一页显示的要从redis中取,也就是说,我可以用一个小程序或者定时任务在后台跑,定时把第一页的数据刷新到redis中。这个是首页的想法,其实首页应该不要显示最新的,因为显示最新的话就不能够保证缓存了,用户可能发完贴后发现怎么首页没有显示。 因此首页应该显示推荐,然后推荐的内容从哪里来呢,这个就可以从redis中获取。但是如何保证分页以及用户每次刷新都不同呢。 然而我的程序并没有什么推荐的功能,并且需要照顾每个博主的发帖,此时就得计算下推荐的算法。这里当然还做不到根据用户的兴趣爱好来,并且需要考虑分页不重复,往往用户查看首页推荐的是最多的,所以推荐其实可以考虑全部用redis来缓存,反正不包括正文。 这是一种思路。

然后博文的话也是加载很慢,因为还要考虑SEO所以用了同步,这样的话如何操作呢,当然最好简单的还是放入redis中来获取,但是内存就在那里,不会多,所以其实可以考虑放一定数量最近常被访问的博文,然后读取的时候其实博文页面只需要同步读取博文即可,不需要读取正文,然后seo 就应该很快搜录啦。具体算法是内存中就放一定量的数据,可以计算下大小,比如500条,然后每条都有有效期,然后这里要考虑怎么控制总数一定在500条,有个排序时间,然后把最迟的一条排除,如果某一条重复被访问,则把它的失效时间复原。具体算法还需要继续研究。

然后前端做的优化就是把css和js不要跟页面集成在一起,这样可以保证浏览器有js,css 缓存,并且css在前面,js在代码后面,然后进行压缩。

大概想到这么多 ,具体细节需要再考虑,没办法 ,太卡了。可能后面实现的过程中又会遇到各种各样的问题。




 119

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2