为了账号安全,请及时绑定邮箱和手机立即绑定

Redis之Spring常用注解整理

标签:
Java

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;
}
点击查看更多内容
5人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消