ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

8 缓存实现,减少数据库访问

2021-07-10 22:03:54  阅读:137  来源: 互联网

标签:缓存 String jar 数据库 list miaosha 访问 html GoodsKey


1 页面缓存

1 添加自定义Key类

public class GoodsKey extends BasePrefix {
    private GoodsKey(int expireSecondes, String prefix) {
        super(expireSecondes, prefix);    }

    public static GoodsKey getGoodsList = new GoodsKey(60000, "goodslist");    public static GoodsKey getGoodsDetail = new GoodsKey(60000, "goodsdetail");}

2 修改Controller

//    @RequestMapping("/to_list")    @RequestMapping(value="/to_list", produces="text/html")
    @ResponseBody    public String toLogin(Model model,                          MiaoshaUser user,                          HttpServletRequest request, HttpServletResponse response){
        model.addAttribute("user", user);        // 查询商品列表        List<GoodsVo> goodsList = goodsService.listGoodsVo();        model.addAttribute("goodsList", goodsList);//        return "goods_list";        // 取缓存        String html = redisService.get(GoodsKey.getGoodsList, "", String.class);        if(!StringUtils.isEmpty(html)){
            return html;        }
        // 手动渲染        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;    }

2 对象缓存

# 测试
java -jar miaosha.jar
# 如果遇到tomcat端口已经被占用 了,那就去将占用改端口的pid给kill掉
# 具体方法:
ps -ef | grep miaosha.jar


# 然后重新部署项目,然后测试
 java -jar miaosha.jar  2>&1 
rm -f *.jtl
 ./apache-jmeter-5.4.1/bin/jmeter.sh -n -t  miaosha_to_list_add_redis_5000_10.jmx -l  miaosha_to_list_add_redis_5000_10.jtl 

标签:缓存,String,jar,数据库,list,miaosha,访问,html,GoodsKey
来源: https://www.cnblogs.com/weidalin/p/14995001.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有