首页 > 编程知识 正文

spring cacheable(spring boot缓存)

时间:2023-05-06 12:40:10 阅读:77543 作者:1080

本文介绍如何在springboot中使用默认的spring cache。

声明缓存

Spring定义了缓存管理器和缓存接口用于统一不同的缓存技术。 例如JCache、EhCache、Hazelcast、Guava、Redis等。 如果使用Spring集成Cache,则必须注册实现的cachemanager bean。

Spring Boot为我们提供了jcachecachecheconfiguration、EhCacheCacheConfiguration、HazelcastCacheConfiguration、guavacachecheconfiguration

默认情况下使用ConcurrenMapCacheManager

如果不使用其他第三方缓存依赖关系,springboot将自动采用ConcurrenMapCacheManager作为缓存管理器。

环境依赖

在pom文件中引入spring-boot-starter-cache环境依赖关系:

从属关系

groupid org.spring framework.boot/groupid

artifactidspring-boot-starter-cache/artifact id

/从属

创建book数据访问层

首先创建一个实体类

创建数据访问接口

公共界面手册资料档案库{

bookgetbyisbn (字符串ISBN;

}

它可以编写复杂的数据查询操作,如使用mysql、nosql等。 为了演示这个板栗,我们只做线程延迟操作,作为查询数据库的时间。

实现接口类:

测试类

启动程序后,可以看到程序在控制台上依次打印:

2014-06-0512336015336035.783…:…. fetching books 2014-06-051236015336040.783…3360 ISBN-1234book { is bbbs } 2014-06-0512336015336043.784…: ISBN-1234book { ISBN=’ISBN-1234’,title=’some book’} 2014-06-051233336

打开缓存技术

在程序入口添加@ EnableCaching开放缓存技术:

在需要缓存的位置添加@Cacheable注释。 例如,getByIsbn ) )方法中添加@Cacheable )“books”)时,该方法打开缓存策略,并直接返回数据(如果缓存中有此数据)并查询数据库

重新启动程序后,可以看到程序的打印。

ISBN-1234book { ISBN=’ISBN-1234’,title=’some book’} 2017-04-2318336017336009.479 info 8054---- [ main ] title=’some book’} 2017-04-2318336017336009.480 info 8054-- [ main ] forezp.app runner 3360 ISBN-1234bok { is book } 2017-04-2318336017336009.480 info 8054-- [ main ] forezp.app runner 3360 ISBN-4567book { is book } title=’some bok’ forezp.app runner 3360 ISBN-1234book { is book } title=’some book’} 2017-04-2318336017336009.481 info 8054-- [ main

下载源代码: https://github.com/forezp/springbootlearning

参考资料

车城

Spring Boot曝光与实战(2)数据缓存篇-快速入门

原文地址: https://dwz.cn/RgerQjQ2作者:方志朋

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。