SpringBoot使用spring缓存抽象

Spring缓存抽象的简单介绍

Spring从3.1开始定义了org.springframework.cache.Cache
和org.springframework.cache.CacheManager接口来统一不同的缓存技术; 并支持使用JCache(JSR-107)注解简化我们开发。

Spring缓存抽象和Redis缓存的关系

首先,他们之间没有必然的联系,他们都是一种缓存技术。使用他们都可以进行缓存操作。

首先引入对应的缓存starter

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

使用@EnableCaching开启基于注解的缓存

缓存注解的使用

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    @Cacheable(cacheNames = "user")
    public User findById(Integer id) {
        System.out.println("查询数据库。。。");
        return userMapper.findById(id);
    }
}

缓存注解一般都是使用在service层上,service层是逻辑处理层。

缓存中的注解和对应概念

1 @Cacheable查询缓存,运行流程:先使用CacheManager获取Cache组件,然后在使用Cahe组件,根据key生成策略生成的key查看是否有缓存数据,没有就调用方法,然后在缓存保存。如果有缓存就不调用方法了。

2 @CachePut数据跟新缓存,在调用方法对数据库的数据跟新后进行缓存数据。

3 @CacheEvict缓存清除,在调用方法删除数据后将缓存中的数据进行删除。

4 @Caching缓存组合,可以同时使用多个缓存注解。

5.@CacheConfig缓存配置,可以用于类上配置当前类的公共配置。

最后提醒,Redis缓存和Spring缓存抽象是实现缓存的不同方式,不是同一个实现技术。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值