Springboot项目中使用缓存@Cacheable

环境:Springboot 2.2.x

1

在pom.xml文件中增加以下内容:

        
        
            org.springframework.boot
            spring-boot-starter-data-redis
            2.2.4.RELEASE
        

        
            org.springframework.boot
            spring-boot-starter-cache
        

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 loadAllTypes() {
        LambdaQueryWrapper 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);
    }

你可能感兴趣的:(Springboot项目中使用缓存@Cacheable)