java高并发list_java秒杀高并发

防止瞬间的访问

首先去缓存中取,找到直接返回,没有就渲染返回,在缓存

比如商品列表,访问的话是 goods_list 模板

将数据放到 model中然后去渲染模板

改为 直接返回 html

先创建一个对商品的前缀,用于存入 redis中

GoodsKey设置,设置默认缓存。60s

public class GoodsKey extends BasePrefix {

private GoodsKey(int exprieSeconds,String prefix) {

super( exprieSeconds,prefix);

}

public static GoodsKey getGoodsList = new GoodsKey(60,"gl");

}1

2

3

4

5

6

7

8

9

控制器请求商品列表

@Autowired

ThymeleafViewResolver thymeleafViewResolver;

@Autowired

ApplicationContext applicationContext;

@RequestMapping(value="/to_list", produces="text/html")

@ResponseBody

public String list(HttpServletRequest request, HttpServletResponse response, Model model,MiaoshaUser user) {

model.addAttribute("user", user);

//取缓存

String html = redisService.get(GoodsKey.getGoodsList, "", String.class);

if(!StringUtils.isEmpty(html)) {

return html;

}

List goodsList = goodsService.listGoodsVo();

model.addAttribute("goodsList", goodsList);

// return "goods_list";

SpringWebContext ctx = new SpringWebContext(request,response,

request.getServletContext(),request.getLocale(), model.asMap(), applicationContext );

//手动渲染

html = thymeleafViewResolver.getTemplateEngine().process("goods_list", ctx);

if(!StringUtils.isEmpty(html)) {

redisService.set(GoodsKey.getGoodsList, "", html);

}

return html;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值