id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	due_date
68	关于搜索页热卖商品的接口和缓存问题	liaojunqiang		"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.解决
修改代码，程序需要的结果是要随机热卖商品，所以我选择直接随机热卖商品的数组，代码如下：

{{{
var rand1 = 0;
var rand2 = 0;
var size = ${hotSellProductSize>0?hotSellProductSize:0};
for(var i = 0; i < size; i++){
	rand1 = parseInt(Math.random() * size);
	rand2 = parseInt(Math.random() * size);
	var temp = hotSellArray[rand1];
	hotSellArray[rand1] = hotSellArray[rand2];
	hotSellArray[rand2] = temp;
}
}}}

5.意外问题
更新的时候，代码已经更新了，但是页面仍然没有变化，后来问林浩，是resin的url有缓存机制，要重启才可以清掉，这种机制有力有弊，好处就是减轻访问的压力，不好的地方就是更新的时候必须重启，可能会影响用户访问。
6.延伸思考
究竟有木有机制可以令服务器一检测到有文件更新，就立即清掉对应url的resin的缓存，我相信是有的
"	defect	new	trivial		网友前台			接口 resin缓存		28/12/2011
