发表于: 2017-07-12 10:55:20

2 1221


今天完成的:

Task6

收获:

1.idea常用快捷键

ctrl+/ 快速单行注释

ctrl+shift+/ 快速多行注释

alt+enter 自动补全

alt+insert 插入getter/setter/构造器等

ctrl+p 在调用时显示方法参数信息

ctrl+ 鼠标左键 链接代码

ctrl+alt+T 包围语句块

ctrl+alt+o 去除无用导入

ctrl+alt+l 格式化代码

2.模拟缓存击穿

我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果有人一直查询一个不可能存在的数据,就会造成每一次请求都查询DB,这样缓存就失去了意义,在流量大时,可能DB就挂掉了。

public List<Developer> queryDeveloper() {
String json = cacheUtil.get("DeveloperList");
   if (json != null) {
logger.debug("从缓存中读取开发者列表---------------------json为:"+json);
       List<Developer> developers = new Gson().fromJson(cacheUtil.get("DeveloperList"),new TypeToken<List<Developer
>>(){}.getType());
       //模拟缓存击穿
       developers.remove(1);

       if(developers.size()<6){

logger.debug("-----------------击穿缓存:"+developers.toString());

developers = DeveloperDAO.queryDeveloper("%");
           return developers;
       }
return developers;
   } else {
developers = DeveloperDAO.queryDeveloper("%");
       cacheUtil.put("DeveloperList", developers);
       logger.debug("--------------将开发者列表添加到redis缓存中");
       return developers;
   }
}

遇到的问题:

1.惨痛的教训,又买了一台阿里云服务器,配安全组之后仍然访问不到端口,在tomcat没有正常启动时,外网telnet 8080是访问不到的。而我以为是服务器的问题,调了半天。

明天的计划:

Task7


返回列表 返回列表
评论

    分享到