济南网站建设,网站运营维护,网站优化
优化技术您当前的位置:智达维网络科技 > 网站优化 > 优化技术 >

网站优化之缓存技术方案优化

更新时间:2018-02-23 09:39:12 作者:千寻建站 访问量:23

网站优化之缓存技术方案优化
网站优化之缓存技术方案优化
    网站的打开速度和用户的离开速度有着直接的关联,而在有限的硬件资源下,就必须通过合理的优化方案来实现高速的响应效果,通过常态化的一些优化手段和网站自用的缓存方案。网站的优化方案,必须得切合好网站的实际使用情况,网站的真实访问流量情况来决定,用户对于不同的网站,其期待的效果不一致。
    网站缓存采用的是以内存为第一保存点,审核即发布的方式,加快信息曝光速度。首先网站在内存中定义了一个长度为5000 的常驻循环数组,作为优惠信息的基本保存数据结构(5000条数据基本上可以保证三天内的数据都能保存在数组里面),并且数组初始化时就为其初始化赋值,每个中都保存着优惠信息数据结构的空字段信息,这样省了在有新的优惠信息插入时new的动作,节约了内存分配的一些时耗(网站服务器端使用的是IIS服务,基于的.net平台,使用了垃圾回收机制,这种机制会导致在分配和回收资源时对CPU和内存的消耗),这样每次插入新的数据时,实质上是执行了更新操作。我们为循环数组的头和尾分表定义了整形变量HeadIndex,TailIndex来表示当前数组中第一位和最后一位的数据位置。
    当每次有新数据需要插入到数组时会根据循环数组的头指针(HeadIndex)和尾指针(TailIndex)的大小来执行不同的操作:①:当TailIndex>HeadIndex 且TailIndex 不等于4999 的时候,此时表示数组TailIndex后的数组中数据均可更新,只需要将TailIndex加1,同时将TailIndex所指向的数据更新为插入的数据即可。
    ②:当TailIndex<HeadIndex 或者TailIndex 等于4999 的时候,此时表示数组中的空数据已经被用完,此时需要将最先插入的数据更新为当前插入的数据,即执行HeadIndex加1,同时
将HeadIndex 所指向的数据更新为插入的数据,并且同时给TailIndex加1(当HeadIndex或者TailIndex大于4999时,都置为0)。
    ③:当重新部署网站的时候,网站部署的同时,会将数据库中按时间逆序的前5000条数据插入到循环数组中。再次插入新数据时,执行步骤②。分页缓存控制:由于用户浏览数据都是按页来获取数据的,当数据通过循环数组的结构保存在内存中,就需要对数据进行按页为单位进行组织,以方便用户访问。网站采用两级Key-Value形式组织。 
    由于优惠信息有过期和错误的属性,所以对于已保存到数组中对应的数据有需要更新,删除的操作。更新:即找到对应的数据在数组中保存的位置,直接更新,同时将数据对应于数据库中的也同时更新,保持数据一致性。
    删除:由于数组的特殊数据结构,其删除操作会比较耗费时间,所以对于要删除的数据在数组中只是将其状态设置为删除状态,并不真正操作数组删除行为。同时对于第一级缓存中的value进行更改。删除操作大致为如下:
    ①:遍历当前数据对应分类第一页的链表,如果存在,则直接删除当前链表中对应的数据,并且同时判断第二页链表是否有数据,如果有将第二页链表的数据的第一个摘下,插入到第一页链表的尾端。再判断第三页链表是否有数据,如果有将第一个数据摘下保存到第二页链表的的尾端。
    ②:如果遍历第一页数据不存在要删除的数据,则遍历第二页链表,如果存在执行步骤①。
    ③:如果前两页链表都不存在要删除的数据,则遍历第三页链表,同时直接删除对应的数据。
  
 
 
 
 

    文章说明:本站发布的所有文章,版权均属于智达维网络科技。如需转载、摘编或利用其它方式使用上述作品,请注明“转载自:智达维网络科技”或“转载自:智达维网络科技/网站优化网站建设相关内容”,谢谢您的浏览!

相关推荐
热线:0531-87583458 电话:0531-66812586 QQ:2676834962
Copyright 智达维网络科技 版权所有
ICP备案编号:鲁ICP备11034527号-1 鲁公网安备 37010402000703号

扫二维码加微信咨询

拨打客服热线

0531-87583458

在线客服