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

善用缓存提高你的Spring工程效率

标签:
Java

缓存可以存储常用到的信息,每次需要的时候我们都可以从缓存中获取,本章我们一起来进行了解Spring的缓存抽象.尽管Spring没有提供任何的缓存的实现,但是它对缓存功能提供了声明式的支持,能够与多种流行的缓存进行集成

我们一般在Spring项目中使用缓存功能我们需要对Spring项目进行一些相关的配置,流程如下

  1. 启用对缓存的支持

  2. 配置缓存管理器

  3. 应用缓存

启用对缓存的支持

JavaConfig配置启用

@Configuration@EnableCachingpublic class SpringCacheConfig {

}

XML配置启用

    <!--启用缓存-->
    <cache:annotation-driven/>

配置缓存管理器

在Sring中我们可以使用很多的缓存管理器的实现
  • ConcurrentMapCacheManager

  • SimpleCacheManager

  • NoOpCacheManager

  • CompositeCacheManager

  • EhCacheCacheManager

  • RedisCacheManager

  • GemfireCacheManager

  • ...

JavaConfig配置缓存管理器

    @Bean
    public CacheManager cacheManager() {        return new ConcurrentMapCacheManager();
    }

XML配置缓存管理器

    <!--声明缓存管理器-->
    <bean id="cacheManager" class="org.springframework.cache.concurrent.ConcurrentMapCacheManager"/>

应用缓存

我们经常在项目中使用注解作用在方法上,使其应用缓存,常见的注解如下

注解描述
@Cacheable先查缓存,如果缓存没有调用方法,将返回值放入缓存中
@CachePut始终都会将返回值放入缓存中
@CacheEvict在缓存中清除一个或者多个条目
@Caching分组的注解,能够同时应用多个其他的缓存注解

使用示例:查询缓存

    @Cacheable(value = "UserCache", key = "#root.args[0]")
    User getUser(String username);

使用示例:保存缓存

    @CachePut(value = "UserCache", key = "#result.username")    User save(User user);

使用示例:移除缓存

    @CacheEvict("UserCache")    void remove(String username);

本章完整工程实例代码下载地址:完整项目演示工程点击下载

原文出处:https://www.cnblogs.com/jimisun/p/9928719.html  

点击查看更多内容
TA 点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消