继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Redis之Spring常用注解整理

呦呦米
关注TA
已关注
手记 31
粉丝 103
获赞 598

Redis 是一个key-value 的存储系统,value可以存储string,List,Map等各种类型的数据。多用于缓存每次都要查询的固定数据,降低对数据库的访问量,调高网站性能。

下面主要介绍spring的三个关于Redis的注解,@Cacheable,@CacheEvict,@CachePut。

@Cacheable

@Cacheable注解类似于保存放法。注解可以标记在方法上,也可以在类上。在某一个方法上就将这个方法的返回值放到cache中。在一个类上,类中的方法的返回值都放到cache中。
@Cacheable注解有几个重要属性。value 是缓存的名称。key键值对中的键,可以自定义也可以默认生成。condition是缓存存入的条件。

//将地区名称长度大于5的地区信息,以地区名称为key放入regions缓存中
@Cacheable(value = " regions",key="#regionName",condition="#regionName.length()>10")
	public List<SysRegion> findRegion(String regionName)  {
    List<SysRegion>  list = this.findByRegionName(regionName);
    return list;
}

@CacheEvict

@CacheEvict相当于删除,将符合注解中属性的缓存清除。

//将regions缓存信息全删除
@CacheEvict(value = "regions", allEntries = true)
	public void deleteRegion() throws TpwsBusinessException {

	}

@CacheEvict除了value,key,condition 属性外,还有 allEntries、beforeInvocation属性。allEntries是boolean类型, 为true表示清除缓存所有数据,默认为false。beforeInvocation默认为false,清除缓存是发生在调用方法之后,改为true,就发上在调用方法之前,即使方法出错也会清除。

@CachePut

@CachePut注解相当于update。确保添加注解的方法会执行,并将改变的数据写入缓存

// 执行查询方法,并将更新regions缓存的值
@CachePut(value = " regions",)
    public List<SysRegion> upRegion(String regionName)  {
    List<SysRegion>  list = this.findByRegionName(regionName);
    return list;
}
打开App,阅读手记
5人推荐
发表评论
随时随地看视频慕课网APP