SpringBoot基于Redis的缓存

1.在SpringBoot的启动类上加上

@EnableCaching  这个注解, 说明,这个应用开启了基于注解的缓存

2.在需要缓存的类上加上@cacheable  这个注解,

3.在这个注解的参数上给其意义如下给这个缓存起名名字就为这个数据库的表名:

@Cacheable(value= "User")
@Cacheable(cacheNames = "User",key="#id")

====================================================

@Cacheable(value = "User")

public User getUser(Integer id) {
    System.out.println("in");
    User user = userMapper.selectById(1);
    return user;
}

key的值默认值是和方法的参数名是一样的,

4.另外一个注解 (既调用方法,又更新缓存)

修改了数据库的某一个数据,同时更新缓存

 

@CachePut(value="User",key="#result.id")  

 

@CachePut(value = "User", key = "#result.id")
/*更新员工*/
public User updateUser(User user) {
    System.out.println("员工更新");
    userMapper.updateById(user);
    return user;
}

参数的解释:

value :名字

key:将查询后的数据放入到缓存中间去(就是更新上面@Cacheable那个以key的值以id缓存的值)

将更新后的值放回到缓存中去

/*清除缓存*/
//allEntries 清除User下面的所有缓存
@CacheEvict(value = "User", allEntries = true, key = "#id")
public void delete() {
    System.out.println("true");
}

 

 

 

 

总结:缓存的添加,@Cacheable 

缓存的更新;@CachePut

缓存的删除@cacheEvict 

缓存的公共配置

@Caching(
        cacheable = {
                @Cacheable(value = "User", key = "#id"),
        },
        put = {
                @CachePut(value = "User", key = "#result.age"),
                @CachePut(value = "User", key = "#result.id"),
        }
)

/*抽取缓存的公共配置*/

//这是类上的注解
@CacheConfig(cacheNames = "User")

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值