Spring cache简单使用

Spring cache简单使用

ID:39468345

大小:141.50 KB

页数:26页

时间:2019-07-04

Spring cache简单使用_第1页
Spring cache简单使用_第2页
Spring cache简单使用_第3页
Spring cache简单使用_第4页
Spring cache简单使用_第5页
资源描述:

《Spring cache简单使用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Springcache简单使用前言spring有一套和各种缓存的集成方式。类似于sl4j,你可以选择log框架实现,也一样可以实现缓存实现,比如ehcache,guavacache.什么时候用缓存首先,缓存是为了省略消耗时间的步骤,比如io。当我需要从数据库查询的数据几乎没有变化,或者变化很少的时候,我就没必要每次都去数据库里拿数据了。大可以放到本地,直接取出来就可以了。这时候需要注意的是数据一致性问题,缓存的数据是否被更改了,数据是否有效。我的项目是分布式部署的,但还没有搭建分布式缓存服务。我采用的本地缓存,也就是说,我的缓存只能在本实例中,跨机器访问则不命中。即便如此也大大

2、减少了访问数据库的开销了。配置缓存这里采用guavacache作为本地缓存。将guavacache注册到cacheManger里就可以调用了。1.配置cacheManger首先针对要缓存的类型,配置缓存策略。这里设置最大缓存数量和缓存过期时间publicstaticfinalStringHOTEL_POSTION="hotel_position";//cachekey@Value("${cache.guavaCache.hotelPosition.maxSize}")privatelonghotelPositionMaxSize;@Value("${cache.guavaCac

3、he.hotelPosition.duration}")privatelonghotelPositionDuration;privateGuavaCachebuildHotelPositionCache(){returnnewGuavaCache(HOTEL_POSTION,CacheBuilder.newBuilder().recordStats().maximumSize(hotelPositionMaxSize).expireAfterWrite(hotelPositionDuration,TimeUnit.DAYS).build());}将刚才创建的缓存策略添加到cac

4、heManger:@BeanpublicCacheManagercacheManager(){SimpleCacheManagermanager=newSimpleCacheManager();Listlist=newArrayList();list.add(buildHotelPositionCache());manager.setCaches(list);returnmanager;}2.配置要缓存的方法在需要使用这个缓存的地方,增加一行注解@Cacheable(value=CacheManagementConfig.HOTEL_POSTION,key="{#hotelId

5、}",condition="",unless="!#result.isSuccessful()")publicBaseDomainResponsegetHotelPosition(inthotelId,StringapiToken){//......}@Cacheable表示这个方法要被缓存valuestring,表示这个方法缓存的唯一性标识,即这方法缓存的key。语法为SpEL.keyString,表示每条请求缓存的key,即如果key相同,则返回缓存中对应的数据conditionboolean,可以额外添加缓存的条件.语法为SpEL.unles

6、sboolean,配置哪些条件下的记录不缓存。语法为SpEL.result表示return的这个对象,可以同result来调用这个对象的属性,比如isSuccessful()就是我返回对象的一个方法。官方文档此处学习官方文档cache部分,spring版本4.1+。Atitscore,theabstractionappliescachingtoJavamethods,reducingthusthenumberofexecutionsbasedontheinformationavailableinthecache.Thatis,eachtimeatargetedmethodisi

7、nvoked,theabstractionwillapplyacachingbehaviorcheckingwhetherthemethodhasbeenalreadyexecutedforthegivenarguments.Ifithas,thenthecachedresultisreturnedwithouthavingtoexecutetheactualmethod;ifithasnot,thenmethodisexecuted,theresultcachedandreturnedto

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。