您的位置:首页 > 编程语言

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

2020-05-10 04:20 1051 查看

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

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

文章表 tb_article
字段名称 字段含义 字段类型
id ID 文本
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);
3号深海鱼,强势悍跳预言家 原创文章 7获赞 4访问量 1467 关注 私信
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐