项目学习第二天业务代码编写-查询与缓存
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 关注 私信
相关文章推荐
- 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma
- 编写代码不能看!好好学习华为的编码规则!----项目经理
- 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma
- 学习Java必看 - JAVA代码编写的30条建议
- HTMLParser(一个比较流行的html代码解析、处理开源项目)学习,总结
- AJAX 学习笔记[二] 我编写的AJAX 测试代码示例
- 项目学习中的代码
- Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之实现基本的数据库访问(附源码)
- 自己编写的泛型List<T>代码,供大家学习,欢迎指导
- 如何更有效的学习开源项目代码?
- J2EE项目代码编写规范
- 看看软件开发人员在代码编写工作中为什么需要学习代码的优雅性,结构以及效率方面的内容。
- Asp.Net大型项目实践(4)-用NHibernate保存和查询我们的业务领域对象之多条件组合查询(附源码)
- DotNET企业架构应用实践-系统架构与性能-在业务中实例使用缓存与缓存查询-附上视频
- 加强金融专业知识学习,现实从代码开发到业务设计的转型
- 如何更有效地学习开源项目的代码?
- [探讨]如何更有效地学习开源项目的代码?
- 对缓存的思考【续】——编写高速缓存友好代码
- 个人学习代码保存:例2.小项目的sql简单的数据库操作类
- Hibernate视频学习笔记(13)一级缓存_二级缓存_查询缓存