spring boot simple类型cache使用详解

 更新时间:2023年10月17日 11:24:14   作者:三劫散仙  
这篇文章主要介绍了spring boot simple类型cache使用,这里用的不是 redis 的缓存,simple 的缓存默认用的是java的ConcurrentHashMap, 单纯的simple缓存,本文给大家介绍的非常详细,需要的朋友可以参考下

注意:这里用的不是 redis 的缓存,simple 的缓存默认用的是 java 的 ConcurrentHashMap, 单纯的 simple 缓存,只需要引入下面的 pom 依赖即可:spring-boot-starter-cache

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-cache</artifactId>
            <version>2.5.3</version>
        </dependency>

如果你的pom里面同时还引入了:spring-boot-starter-data-redis

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
            <version>2.5.3</version>
        </dependency>

并且配置了 spring.redis 相关属性,那么请务必指定缓存类型为 simple,否则会自动使用基于 redis 的 cache,如果你又没有配置redis相关设置的话,就会报:local class incompatible: stream classdesc serialVersionUID

spring:
  redis:
    lettuce:
      pool:
        min-idle=0:
        max-wait=-1ms:
        max-active=3:
        max-idle=3:
    db: ${REDIS_DB:}
    host: ${REDIS_HOST:}
    password: ${REDIS_PASSWORD:}
    port: ${REDIS_PORT:}
# 有了上面的配置后,必须指定下面的配置,否则会自动使用基于 redis 的 cache
spring:
  cache:
    type: simple

然后直接新建一个Bean,配置如下的代码即可:

@Component
public class CacheTools {
    private static Logger log = LoggerFactory.getLogger(CacheTools.class);
    @Cacheable("mapData")
    public Map<String,String> getCacheData() {
        Map<String,String> cacheMap=new HashMap<>();
        cacheMap.put("k1","v1");
        cacheMap.put("k2","v2");
        cacheMap.put("k3","v3");
        log.info(" init spring boot cache, total count={} ", cacheMap.size());
        return cacheMap;
    }
    @CacheEvict(value = "mapData")
    public void clearCache(){
    }
    @CachePut(cacheNames = "mapData", key = "#key")
    public void updateCache(String key, String value){
    }
}

这样就可以了,然后在Controller里面直接调用,第一次的没有缓存的时候,会执行该段代码完成初始化,后续再调用的时候,直接就走cache了,不会在执行代码了, 同理执行缓存清空和更新也类似

到此这篇关于spring boot simple类型cache使用的文章就介绍到这了,更多相关spring boot simple类型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详细谈谈Spring事务是如何管理的

    详细谈谈Spring事务是如何管理的

    在使用传统的事务编程策略时,程序代码必然和具体的事务操作代码耦合,而使用Spring事务管理策略恰好可以避免这种尴尬,Spring的事务管理提供了两种方式:编程式事务管理和声明式事务管理,这篇文章主要给大家介绍了关于Spring事务是如何管理的相关资料,需要的朋友可以参考下
    2021-09-09
  • spring AOP自定义注解方式实现日志管理的实例讲解

    spring AOP自定义注解方式实现日志管理的实例讲解

    下面小编就为大家分享一篇spring AOP自定义注解方式实现日志管理的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • 详解用JWT对SpringCloud进行认证和鉴权

    详解用JWT对SpringCloud进行认证和鉴权

    这篇文章主要介绍了详解用JWT对SpringCloud进行认证和鉴权,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Java实现线程安全单例模式的五种方式的示例代码

    Java实现线程安全单例模式的五种方式的示例代码

    这篇文章主要介绍了Java中实现线程安全单例模式的五种方式:饿汉式、枚举单例、懒汉式、DCL懒汉式和静态内部类懒汉单例,感兴趣的可以了解一下
    2022-03-03
  • WebUploader+SpringMVC实现文件上传功能

    WebUploader+SpringMVC实现文件上传功能

    WebUploader是由Baidu团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。这篇文章主要介绍了WebUploader+SpringMVC实现文件上传功能,需要的朋友可以参考下
    2017-06-06
  • java实用验证码的实现代码

    java实用验证码的实现代码

    这篇文章主要为大家介绍了java实用验证码的实现代码,验证码实际上就是随机选择一些字符以图片的形式展现在页面上,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • SpringMVC的源码解析

    SpringMVC的源码解析

    本文主要介绍了SpringMVC的源码解析。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • nacos单机本地配置文件存储位置方式

    nacos单机本地配置文件存储位置方式

    这篇文章主要介绍了nacos单机本地配置文件存储位置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Spring5新特性之Reactive响应式编程

    Spring5新特性之Reactive响应式编程

    这篇文章主要介绍了Spring5新特性之Reactive响应式编程,响应式编程是一种编程范式,通用和专注于数据流和变化的,并且是异步的,下文更多详细内容,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-03-03
  • SpringSecurity 表单登录的实现

    SpringSecurity 表单登录的实现

    本文主要介绍了SpringSecurity 表单登录的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12

最新评论