一、定义工程

创建一个spring boot模块

二、修改pom文件

在pom文件中添加Spring Boot与Redis整合依赖


  1. <dependencies>
  2. <!--spring boot与redis整合依赖-->
  3. <dependency>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-starter-data-redis</artifactId>
  6. </dependency>
  7. <dependency>
  8. <groupId>org.projectlombok</groupId>
  9. <artifactId>lombok</artifactId>
  10. </dependency>
  11. <!--mybatis与spring boot整合依赖-->
  12. <dependency>
  13. <groupId>org.mybatis.spring.boot</groupId>
  14. <artifactId>mybatis-spring-boot-starter</artifactId>
  15. <version>1.3.2</version>
  16. </dependency>
  17. <!--mysql驱动-->
  18. <dependency>
  19. <groupId>mysql</groupId>
  20. <artifactId>mysql-connector-java</artifactId>
  21. <version>5.1.47</version>
  22. </dependency>
  23. <!-- druid驱动 -->
  24. <dependency>
  25. <groupId>com.alibaba</groupId>
  26. <artifactId>druid</artifactId>
  27. <version>1.1.12</version>
  28. </dependency>
  29. <!--tomcat内置的JSP解析器-->
  30. <dependency>
  31. <groupId>org.apache.tomcat.embed</groupId>
  32. <artifactId>tomcat-embed-jasper</artifactId>
  33. </dependency>
  34. <dependency>
  35. <groupId>org.springframework.boot</groupId>
  36. <artifactId>spring-boot-starter-web</artifactId>
  37. </dependency>
  38. <dependency>
  39. <groupId>org.springframework.boot</groupId>
  40. <artifactId>spring-boot-starter-test</artifactId>
  41. <scope>test</scope>
  42. </dependency>
  43. </dependencies>
  44. <build>
  45. <resources>
  46. <!--注册dao包下mybatis映射文件为资源目录-->
  47. <resource>
  48. <directory>src/main/java</directory>
  49. <includes>
  50. <include>**/*.xml</include>
  51. </includes>
  52. </resource>
  53. <!--注册webapp目录为资源目录-->
  54. <resource>
  55. <directory>src/main/webapp</directory>
  56. <targetPath>META-INF/resources</targetPath>
  57. <includes>
  58. <include>**/*.*</include>
  59. </includes>
  60. </resource>
  61. </resources>
  62. <plugins>
  63. <plugin>
  64. <groupId>org.springframework.boot</groupId>
  65. <artifactId>spring-boot-maven-plugin</artifactId>
  66. </plugin>
  67. </plugins>
  68. </build>

三、修改主配置文件

在主配置文件中添加如下内容:


  1. # 视图的前辍与后辍
  2. spring:
  3. mvc:
  4. view:
  5. prefix: /
  6. suffix: .jsp
  7. # 注册数据源
  8. datasource:
  9. type: com.alibaba.druid.pool.DruidDataSource
  10. driver-class-name: com.mysql.jdbc.Driver
  11. url: jdbc:mysql:///test?useUnicode=true&characterEncoding=utf-8
  12. username: root
  13. password: root
  14. #编码设置
  15. http:
  16. encoding:
  17. force: true
  18. charset: utf-8
  19. enabled: true
  20. redis:
  21. host: 39.97.176.160
  22. port: 6379
  23. cache:
  24. type: redis # 指定缓存类型
  25. cache-names: realTimeCache # 指定缓存空间名称,随意
  26. server:
  27. tomcat:
  28. uri-encoding: UTF-8
  29. mybatis:
  30. # 注册映射文件
  31. mapper-locations: classpath:com/abc/dao/*.xml
  32. # 注册实体类别名
  33. type-aliases-package: com.abc.bean

四、修改实体类Student

由于要将查询的实体类对象缓存到Redis,Redis要求实体类必须序列化。所以需要实体类实现序列化接口

五、修改页面

(1) 修改index页面

(2) 修改welcome.jsp页面

六、 修改Controller类

七、修改Service接口

八、修改Service接口实现类

九、修改Dao接口

十、修改映射文件

十一、测试

注册会清空作用域realTimeCache缓存数据。

查询第一次会缓存信息,后面从Redis获取。

其他

高并发下访问Redis,存在什么问题?存在三个问题

  • 缓存穿透:为DB查询为null的数据预设一个值
  • 缓存雪崩:提前规划好缓存到期时间
  • 热点缓存:双重检测锁机制

Spring Boot中使用Redis的更多相关文章

  1. spring boot 中使用redis session

    spring boot 默认的httpsession是存在内存中.这种默认方式有几个缺点:1.当分布式部署时,存在session不一致的问题:2.当服务重启时session就会丢失,这时候用户就需要重 ...

  2. Spring Boot中使用Redis小结

    Spring Boot中除了对常用的关系型数据库提供了优秀的自动化支持之外,对于很多NoSQL数据库一样提供了自动化配置的支持,包括:Redis, MongoDB, 等. Redis简单介绍 Redi ...

  3. Spring Boot中使用redis的发布/订阅模式

    原文:https://www.cnblogs.com/meetzy/p/7986956.html redis不仅是一个非常强大的非关系型数据库,它同时还拥有消息中间件的pub/sub功能,在sprin ...

  4. Spring Boot 中集成 Redis 作为数据缓存

    只添加注解:@Cacheable,不配置key时,redis 中默认存的 key 是:users::SimpleKey [](1.redis-cli 中,通过命令:keys * 查看:2.key:缓存 ...

  5. spring boot 中使用 Redis 与 Log

    spring boot + mybatis + redis 配置 1.application.yml #配置访问的URLserver: servlet-path: /web port: spring: ...

  6. Spring Boot中使用Redis数据库

    引入依赖 Spring Boot提供的数据访问框架Spring Data Redis基于Jedis.可以通过引入spring-boot-starter-redis来配置依赖关系. <depend ...

  7. 学习Spring Boot:(十七)Spring Boot 中使用 Redis

    前言 Redis 1 是一个由Salvatore Sanfilippo写的key-value存储系统. edis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日 ...

  8. spring boot中集成Redis

    1 pom.xml文件中添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <arti ...

  9. 【redis】spring boot中 使用redis hash 操作 --- 之 使用redis实现库存的并发有序操作

    示例: @Autowired StringRedisTemplate redisTemplate; @Override public void dealRedis(Dealer dealer) { d ...

随机推荐

  1. 18-Spring Cloud Alibaba Nacos

    简介 为什么叫Nacos 前四个字母分别为Naming和Configuration的前两个字母,最后的s为Service Nacos是什么 一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平 ...

  2. [hdu7085]Pty loves SegmentTree

    简单分析,不难得到以下转移--$$f_{n}=\begin{cases}1&(n=1)\\B\sum_{i=1}^{n-1}f_{i}f_{n-i}&(n\le k)\\B\sum_{ ...

  3. [atARC083F]Collecting Balls

    考虑一个构造,对于坐标$(x,y)$,连一条$x$到$y$的边(注意:横坐标和纵坐标即使权值相同也是不同的点),之后每一个连通块独立,考虑一个连通块内部: 每一个点意味着一次删除操作,每一个边意味着一 ...

  4. Class类简介

    Class类 Java中所有的类.接口.枚举.注解.数组.基本数据类型.void关键字,都有Class对象.通过Class对象可以得到类的完整结构,一个Class对象在jvm中只有一个实例. 获取类实 ...

  5. es使用java的api操作

    基本环境的创建 pom依赖  <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&q ...

  6. 32、最长有效括号 | 算法(leetode,附思维导图 + 全部解法)300题

    零 标题:算法(leetode,附思维导图 + 全部解法)300题之(32)最长有效括号 一 题目描述 二 解法总览(思维导图) 三 全部解法 1 方案1 1)代码: // 方案1 "滑动窗 ...

  7. 【贾志豪NOIP模拟题】慰问员工 cheer 【最小生成树】【对边权值的一些处理】

    Description LongDD 变得非常懒, 他不想再继续维护供员工之间供通行的道路. 道路被用来连接 N(5 <= N <= 10,000)个房子, 房子被连续地编号为 1..N. ...

  8. 洛谷 P3688 - [ZJOI2017]树状数组(二维线段树+标记永久化)

    题面传送门 首先学过树状数组的应该都知道,将树状数组方向写反等价于前缀和 \(\to\) 后缀和,因此题目中伪代码的区间求和实质上是 \(sum[l-1...n]-sum[r...n]=sum[l-1 ...

  9. Cycling City CF521E

    Cycling City 毒瘤题 首先建dfs树,由于是个无向图所有返祖边都是连向祖先的. 判是否有解其实很简单,只要图不是一个仙人掌就有解了. 仙人掌有关可以看这个博客 但是这道题由于要输出路径成功 ...

  10. Synteny和collinear的区别

    在比较基因组学的时候,经常会听到"共线性"这个词,但是与其对应的有两个不同的概念,即 (1) synteny (2) collinear 二者的区别如下图所示: 可以看到,synt ...