添加依赖

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-data-redis</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>org.apache.commons</groupId>
  7. <artifactId>commons-pool2</artifactId>
  8. </dependency>

增加配置

  1. # Redis数据库索引(默认为0)
  2. spring.redis.database=0
  3. # Redis服务器地址
  4. spring.redis.host=localhost
  5. # Redis服务器连接端口
  6. spring.redis.port=6379
  7. # Redis服务器连接密码(默认为空)
  8. spring.redis.password=
  9. # 连接池最大连接数(使用负值表示没有限制) 默认 8
  10. spring.redis.lettuce.pool.max-active=8
  11. # 连接池最大阻塞等待时间(使用负值表示没有限制) 默认 -1
  12. spring.redis.lettuce.pool.max-wait=-1
  13. # 连接池中的最大空闲连接 默认 8
  14. spring.redis.lettuce.pool.max-idle=8
  15. # 连接池中的最小空闲连接 默认 0
  16. spring.redis.lettuce.pool.min-idle=0

添加 cache 的配置类

  1. @Configuration
  2. @EnableCaching
  3. public class RedisConfig extends CachingConfigurerSupport {
  4. @Bean
  5. public KeyGenerator keyGenerator() {
  6. return new KeyGenerator() {
  7. @Override
  8. public Object generate(Object target, Method method, Object... params) {
  9. StringBuilder sb = new StringBuilder();
  10. sb.append(target.getClass().getName());
  11. sb.append(method.getName());
  12. for (Object obj : params) {
  13. sb.append(obj.toString());
  14. }
  15. return sb.toString();
  16. }
  17. };
  18. }
  19. }

自动根据方法生成缓存

  1. @RestController
  2. public class RedisController {
  3. @RequestMapping("/getUser")
  4. @Cacheable(value="user-key")
  5. @ResponseBody
  6. public HashMap<String, Object> getUser() {
  7. HashMap<String, Object> map = new HashMap<String, Object>();
  8. map.put("title", "hello world");
  9. System.out.println("若下面没出现“无缓存的时候调用”字样且能打印出数据表示测试成功");
  10. return map;
  11. }
  12. }

输入redis-server启动redis

  • 123