0 环境

系统环境:win10
编辑器:IDEA

1 前言->环境搭建

1-1 pom依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>org.javaboy</groupId>
<artifactId>chapter09-cacheredis</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>chapter09-cacheredis</name>
<description>Demo project for Spring Boot</description> <properties>
<java.version>1.8</java.version>
</properties> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> <dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>

1-2 properties(redis的基本配置以及缓存名的配置)

spring.redis.host=127.0.0.1
spring.redis.password=123456
spring.redis.port=6379
spring.redis.database=0 spring.cache.cache-names=c1

1-3 Application启动项添加

1-4 自定义KeyGenerator

@Component
public class MyKeyGen implements KeyGenerator { @Override
public Object generate(Object o, Method method, Object... objects) {
return method.getName()+":"+ Arrays.toString(objects);
}

1-5 service层

@Service
//@CacheConfig(cacheNames = "c1")
public class BookService {
// key = "#methodName"
// key = "#method.name"
// key = "#caches[0]"
// key = "#args[0]"
// @Cacheable(cacheNames = "c1",key = "#caches[0]")
@Cacheable(cacheNames = "c1",key = "'myKeyGen'")
public Book getUserById(Integer id){
System.out.println("book>>>>>>" + id);
Book book = new Book();
book.setId(id);
return book;
} }

1-6 单元测试

    @Autowired
BookService bookService; @Test
public void contextLoads() { Book book = bookService.getUserById(1);
Book book1 = bookService.getUserById(1);
System.err.println("book --->>" + book);
System.err.println("book1 --->>" + book1); }

2 报错

key = "''" (需要内嵌一下单引号 不然会报错)

最新文章

  1. 用mac的terminal通过公私钥和ssh登录Linux
  2. Appium for Mac 环境准备篇
  3. unreal3脚本stacktrace的问题
  4. 原生JS默认设置默认值的写法
  5. ANDROID_MARS学习笔记_S01原始版_002_实现计算乘积及menu应用
  6. you can Solve a Geometry Problem too(hdoj1086)
  7. android 由于界面控件过多耗时处理办法
  8. 【Web探索之旅】第二部分第二课:服务器语言
  9. HDU 1501 Zipper(DP,DFS)
  10. Unity安装问题
  11. wordpress设置“固定链接”后,页面404错误的解决方法
  12. 取消Fragment切换时间,Fragment+ViewPager静止滑动,去掉默认的滑动效果
  13. 字典 dict
  14. TensorFlow+Keras 01 人工智能、机器学习、深度学习简介
  15. spring注解第06课 @Value
  16. vc++获取网页源码之使用import+接口方式
  17. servlet 解决乱码问题
  18. python 使用for循环简单爬取图片(1)
  19. 1. Spring boot 之热部署
  20. ojective-c convert to pascal pattern

热门文章

  1. textField 基本属性
  2. 最短路———Floyd算法
  3. json,pickle,shelve序列化
  4. 代码杂谈-SQL中的rank&amp;row_number函数
  5. 吴裕雄--天生自然MySQL学习笔记:MySQL 连接的使用
  6. 简单模拟B1011
  7. 记录一次URL中有特殊字符怎么处理?
  8. 第 36 章 TCP/IP协议基础
  9. MobX 在 hook 中的使用
  10. 框架-Spring容器