一、定义工程

创建一个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的数据预设一个值
  • 缓存雪崩:提前规划好缓存到期时间
  • 热点缓存:双重检测锁机制

最新文章

  1. .net预览功能
  2. android系统自带的日期、时间对话框的用法
  3. JAVA源码走读(二)二分查找与Arrays类
  4. .Net反射机制分析和使用
  5. WebLogic Exception
  6. Samba服务详解
  7. Centos 7安装gvim
  8. flac文件提取专辑封面手记
  9. java安全编程
  10. peewee 通俗易懂版
  11. 在Laravel中使用mongoDB
  12. 4. Tomcat内存溢出解决
  13. [个人项目] echarts 实现数据(tooltip)自动轮播插件
  14. 【Java】Java复习笔记-第四部分
  15. @media screen
  16. vim with space-vim
  17. Virtual Box下安装Oracle Linux 6.3
  18. JVM内存—堆(heap)栈(stack)方法区(method) (转)
  19. Java代码加密与反编译(二):用加密算法DES修改classLoader实现对.class文件加密
  20. JS小案例(基础好烦恼少)----持续更新

热门文章

  1. Part 21 to 22 AngularJS anchorscroll
  2. jsonpath语法的基本使用
  3. R数据分析:潜类别轨迹模型LCTM的做法,实例解析
  4. liunx下安装mysql(8.0.27)
  5. [loj3329]有根树
  6. [loj3300]组合数问题
  7. k8s statefulset controller源码分析
  8. NFLSOJ 1072 - 【2021 六校联合训练 NOIP #1】异或(FWT+插值)
  9. P7708「Wdsr-2.7」八云蓝自动机 Ⅰ
  10. EXCEL如何用公式提取一列中的唯一值和不重复值