• redis的安装

    在笔者之前的文章中有介绍redis的安装,不会的可以去看 笔者之前写的文章redis安装
  • 完成安装后如果不熟悉redis的操作,redis官方文档也有基本操作指南,redis基本操作,如果觉得没问题了就可以开始对redis的整合
  1. maven安装依赖
  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-data-redis</artifactId>
  4. </dependency>

redis自动会吧cache的依赖带过来,所有不用配置,如图

  1. 启动类增加@EnableCaching 注解
  1. @SpringBootApplication
  2. @MapperScan("com.tanoak.mapper")
  3. @EnableCaching
  4. public class BootRedisApplication {
  5. public static void main(String[] args) {
  6. SpringApplication.run(BootRedisApplication.class, args);
  7. }
  8. }
  1. service层增加@Cacheable 注解
  1. @Override
  2. @Cacheable(cacheNames= "tea")
  3. public Teacher getTeaById(Integer id) {
  4. logger.info("进行查询实体 ID为"+id);
  5. return teacherMapper.getTeaById(id) ;
  6. }
  1. controller 查询
  1. @GetMapping("/tea/{id}")
  2. public Teacher getTea(@PathVariable("id")Integer id){
  3. return teacherService.getTeaById(id) ;
  4. }

RedisCacheManager 配置

在SpringBoot2.x中,移除了1.x中的配置,因此要配置Json序列化与1.x的差别很大,看代码


  1. @Configuration
  2. @EnableCaching
  3. public class MyRedisConfig extends CachingConfigurerSupport {
  4. /*
  5. *自定义键生成策略
  6. */
  7. @Bean
  8. public KeyGenerator KeyGenerator() {
  9. return (target, method, params) -> {
  10. StringBuilder sb = new StringBuilder();
  11. sb.append(target.getClass().getName());
  12. sb.append(method.getName());
  13. for (Object obj : params) {
  14. sb.append(obj.toString());
  15. }
  16. return sb.toString();
  17. };
  18. }
  19. @Bean
  20. public RedisCacheConfiguration redisCacheConfiguration() {
  21. Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
  22. ObjectMapper om = new ObjectMapper();
  23. om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
  24. om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
  25. jackson2JsonRedisSerializer.setObjectMapper(om);
  26. RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig();
  27. redisCacheConfiguration = redisCacheConfiguration.serializeValuesWith(
  28. RedisSerializationContext
  29. .SerializationPair
  30. .fromSerializer(jackson2JsonRedisSerializer)
  31. //设置默认超过期时间是30秒
  32. ).entryTtl(Duration.ofMinutes(30));
  33. return redisCacheConfiguration;
  34. }
  35. }



没有打印sql,说明缓存成功,与redis集成就完成了

SpringBoot Redis 2.0.x的更多相关文章

  1. springboot+redis

    上篇整合了DB层,现在开始整合缓存层,使用redis. springboot驱动注解,使用spring注入JedisPool便可封装自己的redis工具类. package hello.configu ...

  2. Springboot+redis 整合

    运行环境: JDK1.7. SpringBoot1.4.7 redis3.0.4 1.生成Springboot项目,分别添加web,redis依赖,具体的maven依赖如下 <dependenc ...

  3. SpringBoot+Redis环境搭建

    写在正文前的絮叨: 其实这个环境的搭建是很简单的,照着官网给的说明很快就可以搭建测试出来.为什么又要写出来呢?只是为了记录.保留.分享这其中遇到的坑. 这个环境之前在架构一个简单系统时,也曾经搭建过, ...

  4. 补习系列(14)-springboot redis 整合-数据读写

    目录 一.简介 二.SpringBoot Redis 读写 A. 引入 spring-data-redis B. 序列化 C. 读写样例 三.方法级缓存 四.连接池 小结 一.简介 在 补习系列(A3 ...

  5. 补习系列(13)-springboot redis 与发布订阅

    目录 一.订阅发布 常见应用 二.Redis 与订阅发布 三.SpringBoot 与订阅发布 A. 消息模型 B. 序列化 C. 发布消息 D. 接收消息 小结 一.订阅发布 订阅发布是一种常见的设 ...

  6. SpringBoot+Redis整合

    SpringBoot+Redis整合 1.在pom.xml添加Redis依赖 <!--整合Redis--> <dependency> <groupId>org.sp ...

  7. springboot +redis配置

    springboot +redis配置 pom依赖 <dependency> <groupId>org.springframework.boot</groupId> ...

  8. spring boot 学习(十四)SpringBoot+Redis+SpringSession缓存之实战

    SpringBoot + Redis +SpringSession 缓存之实战 前言 前几天,从师兄那儿了解到EhCache是进程内的缓存框架,虽然它已经提供了集群环境下的缓存同步策略,这种同步仍然需 ...

  9. springboot+redis实现缓存数据

    在当前互联网环境下,缓存随处可见,利用缓存可以很好的提升系统性能,特别是对于查询操作,可以有效的减少数据库压力,Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存 ...

随机推荐

  1. zabbix学习笔记:zabbix监控之短信报警

    zabbix学习笔记:zabbix监控之短信报警 zabbix的报警方式有多种,除了常见的邮件报警外,特殊情况下还需要设置短信报警和微信报警等额外方式.本篇文章向大家介绍短信报警. 短信报警设置 短信 ...

  2. pgrep cron

    # pgrep cron947[root@localhost cron]# pgrep --help Usage: pgrep [options] <pattern> Options: - ...

  3. Mysql_二进制方式安装详解

    mysql 安装 1.安装方式 1.二进制安装 2.源码包安装 3.rpm包安装 1.二进制安装 1)上传或者下载包 [root@db01 ~]# rz #或者 [root@web01 ~]# wge ...

  4. linux 详解useradd 命令基本用法

    linux 详解useradd 命令基本用法 时间:2019-03-24 本文章向大家介绍linux 详解useradd 命令基本用法,主要包括linux 详解useradd 命令基本用法使用实例.应 ...

  5. python3 xlrd包的用法

    一.xlrd的安装 pip install xlrd 二.xlrd使用介绍 1.导入模块 import xlrd 2.打开Excel文件,实例化为readbook readbook = xlrd.op ...

  6. ThinkPHP无限级分类(递归)

    代码演示 没什么可说的直接看代码 <?php namespace app\controller; class Category { //模拟假数据 protected static functi ...

  7. Step By Step(Lua输入输出库)

    Step By Step(Lua输入输出库) I/O库为文件操作提供了两种不同的模型,简单模型和完整模型.简单模型假设一个当前输入文件和一个当前输出文件,他的I/O操作均作用于这些文件.完整模型则使用 ...

  8. Nginx_学习笔记

    Nginx_学习笔记 01-Nginx 课程介绍 02-Nginx 的简介 1. 什么是 Nginx ? 03-Nginx 相关概念(正向和反向代理) 1. 什么是反向代理?能否简要画出其示意图 2. ...

  9. i.MX6UL: i.MX 6UltraLite处理器 - 低功耗,安全,Arm® Cortex®-A7内核

    i.MX6UL: i.MX 6UltraLite处理器 - 低功耗,安全,Arm Cortex-A7内核 概述 MX6UltraLite作为i.MX6系列的扩展,一系列高性能.超高效的处理器,采用先进 ...

  10. MinkowskiBroadcast广播

    MinkowskiBroadcast广播 MinkowskiBroadcastAddition广播加法 class MinkowskiEngine.MinkowskiBroadcastAddition ...