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

1 基础微服务-条件查询

一.标签-条件查询

  1. POST /label/search 根据条件查询城市列表
  2. 修改LabelService ,增加方法


  3. 修改LabelController,增加方法

二.带分页的条件查询

  1. 修改LabelService,增加方法
  2. 修改LabelController,增加方法

2 招聘微服务开发

一.表结构分析

  1. 招聘微服务主要有两块:企业信息和招聘信息
             

二.代码生成

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

三.热门企业列表

  1. 需求:查询企业表ishot字段为1的记录
  2. EnterpriseDao新增方法定义
  3. EnterpriseService新增方法
  4. EnterpriseController新增方法

四.推荐职位列表

  1. 需求分析:查询状态为2并以创建日期降序排序,查询前4条记录
  2. 在RecruitDao新增方法定义
  3. RecruitService新增方法
  4. RecruitController新增方法

五.最新职位列表

  1. 需求分析:查询状态不为0并以创建日期降序排序,查询前12条记录
  2. 在RecruitDao新增方法定义
  3. RecruitService新增方法
  4. RecruitController新增方法

3 问答微服务开发

一.表结构分析

  1. 问题表

    回答表

    问答标签中间表

二.代码生成

  1. (1)使用代码生成器生成招聘微服务代码 tensquare_qa
    (2)拷贝到当前工程,并在父工程引入。
    (3)修改Application类名称为QaApplication
    (4)修改application.yml 中的端口为9003 ,url 为

三.最新回答列表

  1. 需求分析:最新回复的问题显示在上方, 按回复时间降序排序。
  2. 创建中间表pl的实体类
  3. ProblemDao新增方法定义
  4. ProblemService新增方法
  5. ProblemController新增方法

4 文章微服务开发

一.表结构分析

  1. 文章表

二.代码生成

三.文章审核

  1. ArticleDao新增方法
  2. ArticleService新增方法
  3. ArticleController新增方法

四.文章点赞

  1. ArticleDao新增方法定义
  2. ArticleService新增方法
  3. ArticleController新增方法

5 缓存处理

一.Redis环境搭建

  1. 我们以docker的形式搭建Redis 服务

二.SpringDataRedis

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

三.实现文章的缓存处理

  1. 查询文章的操作缓存
    1. 在tensquare_article 的pom.xml引入依赖
    2. 修改application.yml ,在spring节点下添加配置
    3. 修改ArticleService 引入RedisTemplate,并修改findById方法
  2. 修改或删除后清除缓存
  3. 缓存过期处理
    修改findById方法 ,设置1天的过期时间

四.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 为
  2. 活动详情的缓存实现
    1. 我们在tensquare_gathering的pom.xml中引入SpringDataRedis
    2. 修改application.yml , 在spring节点下添加redis 配置
    3. 为GatheringApplication添加@EnableCaching开启缓存支持
    4. 在GatheringService的findById方法添加缓存注解,这样当此方法第一次运行,在缓存中没有找到对应的value和key,则将查询结果放入缓存。
    5. 当我们对数据进行删改的时候,需要更新缓存。其实更新缓存也就是清除缓存,因为清除缓存后,用户再次调用查询方法无法提取缓存会重新查找数据库中的记录并放入缓存。
      在GatheringService的update、deleteById方法上添加清除缓存的注解
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值