zoukankan      html  css  js  c++  java
  • SpringBoot 缓存工作原理

    1. 自动配置类:CacheAutoConfiguration

    2. 缓存的配置类:

    org.springframework.boot.autoconfigure.cache.GenericCacheConfiguration
    org.springframework.boot.autoconfigure.cache.JCacheCacheConfiguration
    org.springframework.boot.autoconfigure.cache.EhCacheCacheConfiguration
    org.springframework.boot.autoconfigure.cache.HazelcastCacheConfiguration
    org.springframework.boot.autoconfigure.cache.InfinispanCacheConfiguration
    org.springframework.boot.autoconfigure.cache.CouchbaseCacheConfiguration
    org.springframework.boot.autoconfigure.cache.RedisCacheConfiguration
    org.springframework.boot.autoconfigure.cache.CaffeineCacheConfiguration
    org.springframework.boot.autoconfigure.cache.SimpleCacheConfiguration
    org.springframework.boot.autoconfigure.cache.NoOpCacheConfiguration

    3. 默认生效的是SimpleCacheConfiguration

    @Configuration(proxyBeanMethods = false)
    @ConditionalOnMissingBean(CacheManager.class)
    @Conditional(CacheCondition.class)
    class SimpleCacheConfiguration {
    
        @Bean
        ConcurrentMapCacheManager cacheManager(CacheProperties cacheProperties,
                CacheManagerCustomizers cacheManagerCustomizers) {
            ConcurrentMapCacheManager cacheManager = new ConcurrentMapCacheManager();
            List<String> cacheNames = cacheProperties.getCacheNames();
            if (!cacheNames.isEmpty()) {
                cacheManager.setCacheNames(cacheNames);
            }
            return cacheManagerCustomizers.customize(cacheManager);
        }
    
    }

    4. 给容器中注册了一个CacheManager:ConcurrentMapCacheManager 

    5. 可以获取和创建ConcurrentMapCache类型的缓存组件:将数据保存在ConcurrentMap中

  • 相关阅读:
    day5 页面布局
    1、rbac权限组件-初识, 中间件校验1
    1 、算法-总结
    10 腾讯云、django2.0、uwsgi、mysql、nginx 部署
    9 README,全套代码
    8 功能6:后台管理页面,编辑文章,xss攻击
    3-面试篇-操作系统
    7 功能5:文章详情页、评论、评论树
    6 功能4:文章详情页、点赞功能
    2- 面试篇-数据库
  • 原文地址:https://www.cnblogs.com/luo-jian/p/12923661.html
Copyright © 2011-2022 走看看