环境:Springboot 2.2.x
1
在pom.xml文件中增加以下内容:
<!-- redis 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
2
在application-dev.properties文件中增加redis的配置信息,例如:
spring.redis.lettuce.pool.min-idle=100
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.database=2
spring.redis.password=xxxx
spring.cache.type=redis
注意最后一句:spring.cache.type=redis,缓存内容将被自动保存到redis中
3
开始coding,例如下面的例子中,系统会自动将loadAllTypes方法的返回结果缓存到redis中,缓存内容的key为:“DtxMedicineType”,下一次再次执行该方法时,会直接从缓存中取数据,而不是再从数据库中拿数据了;
@Cacheable(cacheNames = "DtxMedicineType")
public List<DtxMedicineType> loadAllTypes() {
LambdaQueryWrapper<DtxMedicineType> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DtxMedicineType::getIsDeleted,0);
queryWrapper.orderByAsc(DtxMedicineType::getOrderIdx);
queryWrapper.select(
DtxMedicineType::getMedicineTypeId,
DtxMedicineType::getMedicineTypeName,
DtxMedicineType::getOrderIdx);
queryWrapper.last("limit 100");
return baseMapper.selectList(queryWrapper);
}
网友评论