项目学习第二天业务代码编写-查询与缓存

项目学习第二天业务代码编写-查询与缓存

  在这里不会把所有学习步骤繁琐得介绍一遍,而是会挑选一些重点的学习内容加以记录。
  首先 完成基础微服务-条件查询,招聘微服务开发,问答微服务开发,文章微服务开发,在开发之前需要完成对每一个服务的表结构分析以后再进行开发。这里拿文章微服务的两个子模块进行举例说明。
   进行表结构分析

文章表tb_article
字段名称字段含义字段类型
idID文本
userid用户ID文本
title文章标题文本
content文章内容文本
createtime发表日期日期
istop是否置顶文本
thumbup点赞数整型
  1.用代码生成器生成招聘微服务代码 tensquare_article
  2.拷贝到当前工程,并在父工程引入
  3.修改Application类名称为ArticleApplication
  4.修改application.yml 中的端口为,url 为
jdbc:mysql://192.168.184.134:3306/tensquare_article?characterEncoding=UTF8

这里的地址位docker服务的地址,可以在docker中利用ifconfig命令来查看。

  为了提高查询的性能,我们通常采用Redis缓存解决。

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

搭建Redis 服务
docker run ‐di ‐‐name=tensquare_redis ‐p 6379:6379 redis
pom.xml引入依赖
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring‐boot‐starter‐data‐redis</artifactId>              
 </dependency>
修改application.yml ,在spring节点下添加配置
redis:   
  host: 192.168.184.134
修改ArticleService 引入RedisTemplate
@Autowired
private RedisTemplate redisTemplate; 
   // 根据ID查询实体      
  // @param id      
  // @return      
public Article findById(String id) {      //从缓存中提取     
Article article=(Article)redisTemplate.opsForValue().get("article_"+id);         
      // 如果缓存没有则到数据库查询并放入缓存 
if(article==null) { 
  article = articleDao.findById(id).get();                     
  redisTemplate.opsForValue().set("article_" + id, article);
      }      
   return article; 
    }  

在项目中哪部分业务用到缓存

  在这个项目中的文章查询部分用到了redis缓存技术,本人在其他项目中,涉及到其他项目中的文档显示,算法展示,模型展示,用到了redis缓存技术,小伙伴们可以自己根据业务去讲解哪部分业务使用到了缓存技术。

你说一下项目中是如何使用缓存的

  项目中,对于过热的数据,高频的数据,采用redis技术,减少数据库压力,对于一些高频的访问内容,自动存取到缓存中,可以利用set,hset等方法完成数据的缓存,对于缓存技术redis日后打算专门写一篇文章来共同学习redis底层的知识点。

说一下如何设置缓存过期时间

redisTemplate.opsForValue().set("article_" + id, article,1,  TimeUnit.DAYS);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值