电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Spring Cache相關知識總結

瀏覽:9日期:2023-07-13 13:52:10
簡介

Spring 從 3.1 開始定義了 org.springframework.cache.Cache 和 org.springframework.cache.CacheManager 接口來統一不同的緩存技術; 并支持使用 JCache ( JSR-107 )注解簡化我們開發;

Cache 接口為緩存的組件規范定義,包含緩存的各種操作集合; Cache 接 口 下 Spring 提 供 了 各 種 xxxCache 的 實 現 ; 如 RedisCache , EhCacheCache , ConcurrentMapCache 等;

每次調用需要緩存功能的方法時, Spring 會檢查檢查指定參數的指定的目標方法是否已 經被調用過;如果有就直接從緩存中獲取方法調用后的結果,如果沒有就調用方法并緩 存結果后返回給用戶。下次調用直接從緩存中獲取。

使用 Spring 緩存抽象時我們需要關注以下兩點;

1 、確定方法需要被緩存以及他們的緩存策略

2 、從緩存中讀取之前緩存存儲的數據

第一步

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

第二步application.properties配置:

spring.cache.type=redis spring.cache.redis.time-to-live=3600000spring.cache.redis.key-prefix=CACHE_spring.cache.redis.use-key-prefix=truespring.cache.redis.cache-null-values=true

第三步:

config創建MyCacheConfig

package com.atguigu.gulimall.product.config; import org.springframework.boot.autoconfigure.cache.CacheProperties;import org.springframework.boot.context.properties.EnableConfigurationProperties;import org.springframework.cache.annotation.EnableCaching;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.cache.RedisCacheConfiguration;import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;import org.springframework.data.redis.serializer.RedisSerializationContext;import org.springframework.data.redis.serializer.StringRedisSerializer; @EnableConfigurationProperties(CacheProperties.class)@Configuration@EnableCachingpublic class MyCacheConfig { // @Autowired// CacheProperties cacheProperties; /** * 配置文件中的東西沒有用上; * * 1、原來和配置文件綁定的配置類是這樣子的 * @ConfigurationProperties(prefix = 'spring.cache') * public class CacheProperties * * 2、要讓他生效 * @EnableConfigurationProperties(CacheProperties.class) * * @return */ @Bean RedisCacheConfiguration redisCacheConfiguration(CacheProperties cacheProperties){ RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig();//config = config.entryTtl();config = config.serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer()));config = config.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer())); CacheProperties.Redis redisProperties = cacheProperties.getRedis();//將配置文件中的所有配置都生效if (redisProperties.getTimeToLive() != null) { config = config.entryTtl(redisProperties.getTimeToLive());}if (redisProperties.getKeyPrefix() != null) { config = config.prefixKeysWith(redisProperties.getKeyPrefix());}if (!redisProperties.isCacheNullValues()) { config = config.disableCachingNullValues();}if (!redisProperties.isUseKeyPrefix()) { config = config.disableKeyPrefix();} return config; }}

第四步:

測試使用緩存 * @Cacheable: Triggers cache population.:觸發將數據保存到緩存的操作 * @CacheEvict: Triggers cache eviction.:觸發將數據從緩存刪除的操作 * @CachePut: Updates the cache without interfering with the method execution.:不影響方法執行更新緩存 * @Caching: Regroups multiple cache operations to be applied on a method.:組合以上多個操作 * @CacheConfig: Shares some common cache-related settings at class-level.:在類級別共享緩存的相同配置

失效模式:編輯的時候直接清空緩存。使其第一次查庫的時候存入緩存雙寫模式:有一定的延遲,緩存期以后才可以讀到最新數據

具體案例:

@Cacheable(value = {'category'},key = '#root.method.name',sync = true) @Override public List<CategoryEntity> getLevel1Categorys() {System.out.println('getLevel1Categorys.....');long l = System.currentTimeMillis();List<CategoryEntity> categoryEntities = baseMapper.selectList(new QueryWrapper<CategoryEntity>().eq('parent_cid', 0));return categoryEntities; }

以下沒有整理。暫時記錄一下。

Spring Cache相關知識總結

Spring Cache相關知識總結

Spring Cache相關知識總結

Spring Cache相關知識總結

到此這篇關于Spring Cache相關知識總結的文章就介紹到這了,更多相關Spring Cache內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 数显恒温油浴-电砂浴-高温油浴振荡器-常州迈科诺仪器有限公司 | 生物风-销售载体,基因,质粒,ATCC细胞,ATCC菌株等,欢迎购买-百风生物 | 江苏远邦专注皮带秤,高精度皮带秤,电子皮带秤研发生产 | 家用净水器代理批发加盟_净水机招商代理_全屋净水器定制品牌_【劳伦斯官网】 | 恒温恒湿试验箱_高低温试验箱_恒温恒湿箱-东莞市高天试验设备有限公司 | 泉州陶瓷pc砖_园林景观砖厂家_石英砖地铺石价格 _福建暴风石英砖 | 污水/卧式/潜水/钻井/矿用/大型/小型/泥浆泵,价格,参数,型号,厂家 - 安平县鼎千泵业制造厂 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | 宁夏档案密集柜,智能密集柜,电动手摇密集柜-盛隆柜业宁夏档案密集柜厂家 | 美侍宠物-专注宠物狗及宠物猫训练|喂养|医疗|繁育|品种|价格 | 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 环境模拟实验室_液体-气体控温机_气体控温箱_无锡双润冷却科技有限公司 | 上海质量认证办理中心| 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 自恢复保险丝_贴片保险丝_力特保险丝_Littelfuse_可恢复保险丝供应商-秦晋电子 | 南京泽朗生物科技有限公司 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 模具钢_高速钢_不锈钢-万利钢金属材料 | 技德应用| 洗砂机械-球磨制砂机-洗沙制砂机械设备_青州冠诚重工机械有限公司 | 365文案网_全网创意文案句子素材站 | 德州网站开发定制-小程序开发制作-APP软件开发-「两山开发」 | 外观设计_设备外观设计_外观设计公司_产品外观设计_机械设备外观设计_东莞工业设计公司-意品深蓝 | 直线模组_滚珠丝杆滑台_模组滑台厂家_万里疆科技 | 档案密集柜_手动密集柜_智能密集柜_内蒙古档案密集柜-盛隆柜业内蒙古密集柜直销中心 | 气动绞车,山东气动绞车,气动绞车厂家-烟台博海石油机械有限公司 气动隔膜泵厂家-温州永嘉定远泵阀有限公司 | 干式磁选机_湿式磁选机_粉体除铁器-潍坊国铭矿山设备有限公司 | 学生作文网_中小学生作文大全与写作指导 | 氧化铁红厂家-淄博宗昂化工 | Pos机办理_个人商户免费POS机申请-拉卡拉办理网 | 七维官网-水性工业漆_轨道交通涂料_钢结构漆 | 杭州火蝠电商_京东代运营_拼多多全托管代运营【天猫代运营】 | vr安全体验馆|交通安全|工地安全|禁毒|消防|安全教育体验馆|安全体验教室-贝森德(深圳)科技 | 深圳南财多媒体有限公司介绍 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | 蓝鹏测控平台 - 智慧车间系统 - 车间生产数据采集与分析系统 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | 断桥铝破碎机_铝合金破碎机_废铁金属破碎机-河南鑫世昌机械制造有限公司 | 承插管件_不锈钢承插管件_锻钢高压管件-温州科正阀门管件有限公司 | 冰晶石|碱性嫩黄闪蒸干燥机-有机垃圾烘干设备-草酸钙盘式干燥机-常州市宝康干燥 | 地图标注|微信高德百度地图标注|地图标记-做地图[ZuoMap.com] |