首页快速加载数据,公共资源访问解决办法

首页快速加载数据,公共资源访问解决办法

        首页数据对一个项目来说是一个很重要得关键点,为什么呢?首页得访问大部分情况下会比别的页面访问量大,这是毋庸置疑的。如果说这个首页数据的请求是一个实实在在的.do请求的话那么就会出现一个问题,就是说这个只要是加载首页数据的话就会去访问服务器,服务器不管是使用缓存还是直接查询数据库都会造成资源的开销(大或小的问题)。如果说是这样的话,那么我们就需要解决一个什么问题呢?

        如果说这个资源是公共资源的话,我们就把这一部分抽出来,生成静态文件,然后给出url地址让客户端去访问,xml格式或者json格式都无所谓,加上一个serverTime属性或者字段。这个东西是我们后端跑的定时任务或者可以催生的一个可执行方法。定时去生成到一个指定的目录,这个目录会被nginx代理,也就是说我们这个资源如果说是公共的情况下我们会使用这种生成一个静态文件的方式让大家去访问的策略。当然客户端那边最好做一个缓存机制,在没有网络的情况下我们需要展示本地缓存数据。

        如果说这个文件请求中包含了关于用户个人信息(不同的人展示不同的效果)的部分,请把它和静态文件剥离。保证这个请求的原子性。

        当然,我们既然在客户端做了缓存,我们就需要使用客户端的更新策略,我们在文件中有serverTime这个属性或者字段,这个是在服务器生成该文件的时候自己生成的时间,这个时间存到redis或这别的内存中,当客户端(定时访问或这刷新)过来访问我们是是否需要更新的时候,把时间给他,让他们自己对时间进行比对,然后决定是否重新访问该公共资源对应的地址。这样的话,每次访问的时候数据量极小,不需要更新的时候不更新,需要更新的时候再更新。

        因为个人认为公共资源没有权限方面的东西,而且大家展示的效果或者数据都是一直的,没有必要使用动态接口,而且使用文件的话会减少tomcat的压力,从而更好的提升服务器有效的工作效率。

猜你喜欢

转载自blog.csdn.net/qq1437715969/article/details/79947458