1 基础微服务-条件查询

一.标签-条件查询

  1. POST /label/search 根据条件查询城市列表
  2. 修改LabelService ,增加方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  3. 修改LabelController,增加方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

二.带分页的条件查询

  1. 修改LabelService,增加方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  2. 修改LabelController,增加方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

2 招聘微服务开发

一.表结构分析

  1. 招聘微服务主要有两块:企业信息和招聘信息
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存          Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

二.代码生成

  1. 我们使用开源代码生成器codeutil 来完成代码的生成
    开源网址: https://gitee.com/chuanzhiliubei/codeutil
  2. (1)使用代码生成器生成招聘微服务代码 tensquare_recruit
    (2)拷贝到当前工程,并在父工程引入。
    (3)修改Application类名称为RecruitApplication
    (4)修改application.yml 中的端口为9002 ,url 为
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

三.热门企业列表

  1. 需求:查询企业表ishot字段为1的记录
  2. EnterpriseDao新增方法定义
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  3. EnterpriseService新增方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  4. EnterpriseController新增方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

四.推荐职位列表

  1. 需求分析:查询状态为2并以创建日期降序排序,查询前4条记录
  2. 在RecruitDao新增方法定义
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  3. RecruitService新增方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  4. RecruitController新增方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

五.最新职位列表

  1. 需求分析:查询状态不为0并以创建日期降序排序,查询前12条记录
  2. 在RecruitDao新增方法定义
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  3. RecruitService新增方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  4. RecruitController新增方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

3 问答微服务开发

一.表结构分析

  1. 问题表
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
    回答表
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
    问答标签中间表
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

二.代码生成

  1. (1)使用代码生成器生成招聘微服务代码 tensquare_qa
    (2)拷贝到当前工程,并在父工程引入。
    (3)修改Application类名称为QaApplication
    (4)修改application.yml 中的端口为9003 ,url 为
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

三.最新回答列表

  1. 需求分析:最新回复的问题显示在上方, 按回复时间降序排序。
  2. 创建中间表pl的实体类
  3. ProblemDao新增方法定义
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  4. ProblemService新增方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  5. ProblemController新增方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

4 文章微服务开发

一.表结构分析

  1. 文章表
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

二.代码生成

三.文章审核

  1. ArticleDao新增方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  2. ArticleService新增方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  3. ArticleController新增方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

四.文章点赞

  1. ArticleDao新增方法定义
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  2. ArticleService新增方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  3. ArticleController新增方法
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

5 缓存处理

一.Redis环境搭建

  1. 我们以docker的形式搭建Redis 服务
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

二.SpringDataRedis

  1. Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装,RedisTemplate提供了redis各种操作。

三.实现文章的缓存处理

  1. 查询文章的操作缓存
    1. 在tensquare_article 的pom.xml引入依赖
      Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
    2. 修改application.yml ,在spring节点下添加配置
      Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
    3. 修改ArticleService 引入RedisTemplate,并修改findById方法
      Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  2. 修改或删除后清除缓存
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  3. 缓存过期处理
    修改findById方法 ,设置1天的过期时间
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

四.Spring Cache

  1. Spring Cache使用方法与Spring对事务管理的配置相似。Spring Cache的核心就是对某个方法进行缓存,其实质就是缓存该方法的返回结果,并把方法参数和结果用键值对的方式存放到缓存中,当再次调用该方法使用相应的参数时,就会直接从缓存里面取出指定的结果进行返回。
  2. @Cacheable-------使用这个注解的方法在执行后会缓存其返回结果。
    @CacheEvict--------使用这个注解的方法在其执行前或执行后移除Spring Cache中的某些元素。

五.活动信息的缓存

  1. 活动微服务代码生成
    (1)使用代码生成器生成招聘微服务代码 tensquare_gathering
    (2)拷贝到当前工程,并在父工程引入。
    (3)修改Application类名称为GatheringApplication
    (4)修改application.yml 中的端口为9005 ,url 为
    Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
  2. 活动详情的缓存实现
    1. 我们在tensquare_gathering的pom.xml中引入SpringDataRedis
    2. 修改application.yml , 在spring节点下添加redis 配置
      Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
    3. 为GatheringApplication添加@EnableCaching开启缓存支持
      Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
    4. 在GatheringService的findById方法添加缓存注解,这样当此方法第一次运行,在缓存中没有找到对应的value和key,则将查询结果放入缓存。
      Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存
    5. 当我们对数据进行删改的时候,需要更新缓存。其实更新缓存也就是清除缓存,因为清除缓存后,用户再次调用查询方法无法提取缓存会重新查找数据库中的记录并放入缓存。
      在GatheringService的update、deleteById方法上添加清除缓存的注解
      Java项目 (SpringBoot+SpringCloud) 十次方:后端(二) 查询与缓存

相关文章: