千家信息网

Spring怎么进行缓存

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关Spring怎么进行缓存,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。是大家在项目开发过程中,或多或少都用过缓存,为了减少
千家信息网最后更新 2026年11月03日Spring怎么进行缓存

这篇文章将为大家详细讲解有关Spring怎么进行缓存,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

是大家在项目开发过程中,或多或少都用过缓存,为了减少数据库的压力,把数据放在缓存当中,当访问的请求过来时,直接从缓存读取。缓存一般都是基于内存的,读取速度比较快,市面上比较常见的缓存有:memcache、redis、mongodb、guava cache等。

缓存的常规用法

大家使用缓存时,常用的逻辑是这样的:

  1. 根据条件生成key;

  2. 从缓存中读取数据,若成功读取数据,则返回;

  3. 若数据不存在,根据条件从数据库读取;

  4. 将从数据库中读取的数据放入缓存;

  5. 返回数据;

每一个使用缓存的场景,上面的逻辑都要重写一遍,是不是很烦躁,是不是很浪费时间。有没有简单的方法完成上面的逻辑?当然有了,这就是今天要向大家介绍的Spring Cache。

Spring Cache

Spring Cache并不神秘,而且使用起来非常的方便。它是注解组成的,最常用的一个注解是@Cacheable。这个注解是在方法上使用的,当使用了注解的方法被调用时,会先从缓存中查询,如果缓存中不存在,则执行方法,然后将方法的返回值放入缓存中。具体的使用方法如下:

首先,我们在IDEA中使用Spring Boot搭建环境,在选择依赖的页面中,我们选择了Lombok和Cache,最主要的选择Cache哦~ 项目搭建完毕后,我们看一下pom.xml的依赖:

我们看到在依赖中自动添加了cache。接下来我们要在SpringBoot的启动类上加上使用cache的注解@EnableCaching,如图:

然后我们编写测试的controller,如下:

我们使用@RestController注解,所以它返回的是Json格式的结果。然后在方法上使用了@Cacheable注解,这是我们今天的主角。

  • cacheNames:当系统中有多个缓存时,指定该方法使用其中的哪几个缓存。

  • key:缓存的key,可以使用spEL表达式,上面的例子中,使用了入参name。

还有其他的关键字,在这里没有列出来,比如:

  • sync :true或false,当并发量非常大时,将同步开启,可以保证只有一个线程执行方法,其他线程将等待,然后从缓存中读取数据。

  • condition:使用缓存的条件。

  • keyGenerator:指定key的生成器。

我们启动项目,并在浏览器第一次访问http://localhost:8080/cache/test?name=allen,结果响应很慢,过了5秒后,页面显示结果:

我们再看一下后台日志:

打印语句打印出来了,说明第一次访问时,是执行了方法的。我们再在浏览器请求相同的地址,结果返回了相同的结果,而且后台没有打印出日志,和上面两张图一模一样。说明这次请求走了缓存,方法并没有执行。

关于Spring怎么进行缓存就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

缓存 方法 数据 注解 结果 数据库 条件 逻辑 面的 项目 选择 相同 内容 后台 常用 文章 日志 更多 浏览器 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网高科技 互联网是第几次科技革命的成果 金融科技 互联网金融 合肥互联网科技公司 上海喔噻互联网科技 有木互联网科技 天扬科技互联网广告 中国最先进互联网科技公司 科技与互联网的利与弊 欧洲十大科技互联网公司 重庆互联网医院沙龙医盟信息科技 广州市恰铎互联网科技有限公司 中国互联网公司排名锤子科技 城市宝互联网科技有限公司 从那以后互联网科技有限公司 陕西九四连强互联网科技有限公司 求路客互联网科技电话 杭州融税互联网科技有限公司 长沙易易互联网科技有限公司 科技发展第三阶段互联网时代 互联网金融科技 狮子座互联网科技有限公司 天下捷融互联网科技 富国互联网科技创新基金 互联网科技实习生岗位职责 互联网对科技的发展 浙南科技城互联网大厦招聘 兰石爱特工业互联网科技分公司 北京军民互联网科技公司 小牛互联网科技有限公司地址
0