Ticket #68 (new defect) — at Version 1

Opened 14 years ago

Last modified 14 years ago

关于搜索页热卖商品的接口和缓存问题

Reported by: liaojunqiang Owned by:
Priority: trivial Milestone:
Component: 网友前台 Version:
Keywords: 接口 resin缓存 Cc:
Due Date: 28/12/2011

Description (last modified by liaojunqiang) (diff)

1.问题
需求报障,it商城搜索页右边热卖商品样式错乱,浏览器显示js报错
2.调查
经过fireox的firebug js调试工具查看所得,原因是

//循环N次生成随机数
for(var i = 0 ; ; i++){
  // 只生成8个0~19的随机数
  if(array.length<8){
        generateRandom(19);
  }else{
    break;
  }
}

这个写法在热卖商品数量大于20时没有问题,所以一直没有报错,但是今日热卖商品只有11个,导致热卖商品的js数组下标越界,所以显示不出来,从而样式变形。
3.需要注意的地方
这种写法有个问题就是不能保证会不会数组越标,以后遇到这样的问题要注意,不能单纯填个数字上去,一定要多多考虑各种情况。
4.解决
修改代码,随机数根据热卖商品的数量去生成,避免数组下标越界
5.意外问题
更新的时候,代码已经更新了,但是页面仍然没有变化,后来问林浩,是resin的url有缓存机制,要重启才可以清掉,这种机制有力有弊,好处就是减轻访问的压力,不好的地方就是更新的时候必须重启,可能会影响用户访问。
6.延伸思考
究竟有木有机制可以令服务器一检测到有文件更新,就立即清掉对应url的resin的缓存,我相信是有的

Change History

comment:1 Changed 14 years ago by liaojunqiang

  • Description modified (diff)
Note: See TracTickets for help on using tickets.