桐小目
2018-02-22 03:58
采纳率: 40%
浏览 5.5k
已采纳

Spring Boot 使用Redis缓存 配置问题

背景

我想要在当前的Spring Boot项目中使用Redis作为缓存。目前所了解到的内容是Redis缓存有两种实现方式,一种是使用Spring Cache注解,需要加一个配置文件,另一种是使用RedisTemplate,想要两种方式混合使用。

相关版本

Spring Boot:Spring Boot 2.0.0.M7

Redis依赖包:

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

主要问题:

application中yml文件我按照书上和官方文档的推荐方式在Application.yml里面做了如下配置,因为我使用的Spring Boot版本比较新,因为配置方式与之前的稍微有点不一样:

 spring:
  redis:
      host: 127.0.0.1
      port: 6379
      password: 123456
      #timeout: 0
      #Spring Boot 2.0.0.M7中原有的redis配置方法过时,加了一层jedis
      jedis:
        pool:
          max-active: 8
          max-wait: -1
          min-idle: 8
          max-idle: 0

而为了使用Spring Cache注解,需要启用注解并且设置数据在Redis数据库的有效期限,需要如下配置:
图片说明
无论是我看的书籍还是查阅的很多博客都是这种配置方式,但是如图报错了。我猜想很大可能是版本原因,因此去查看了Spring提供的官方文档(2.0.0.M1的文档,是最新的文档):
https://docs.spring.io/spring-data/redis/docs/2.1.0.M1/api/
里面的RedisCacheManager的构造方法显然没有上面图片中的那种,文档所提供的的构造方法我有看不太懂应该怎么获取或者使用。
因为第一次配置我了解的相关知识也比较少,希望有大神能够指导一下在这里具体应该怎么配置Redis数据的过期时间?
感谢阅读问题~

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • little_strong13 2018-02-22 08:54
    已采纳

    配置redis数据过期时间简单,不需要在配置文件中配置,你可以在调用service存储数据时使用redis的setex方法,当中第二个参数是表示过期的,单位是秒

    点赞 评论
  • mahf 2018-02-22 08:26

    切面aop,配置就可以
    原始代码不用修改

    点赞 评论
  • JavaCode猿 2018-08-03 14:09
    点赞 评论
  • suveng 2018-11-15 03:22

    这是springboot1.5前的配置吧,2.0以后这样配置会报红

    点赞 评论

相关推荐 更多相似问题