当前位置: 首页 > news >正文

html5制作网站谁的好/独立网站怎么做

html5制作网站谁的好,独立网站怎么做,自己做的网站服务器在哪里,wordpress学做网站一个java小项目,由于某种原因,要用到缓存,因为小,所以不打算去折腾memcache,redis这类大级别缓存,所以选择ehcache缓存组件与项目集成使用。初次使用,一开始不怎么熟悉,中间出现了一…

一个java小项目,由于某种原因,要用到缓存,因为小,所以不打算去折腾memcache,redis这类大级别缓存,所以选择ehcache缓存组件与项目集成使用。

初次使用,一开始不怎么熟悉,中间出现了一个令我困扰的问题,明明我的ehcache.xml配置里把缓存的生命周期配成不限制的,也就是说,对象可以无限长时间留在缓存中,但实际是过了2分钟的样子,缓存就消失不见了。

现象见图:

过2分钟左右,缓存不见了

我的ehcache.xml配置如下:

ehcache.xml配置,配了两个缓存

Spring中集成ehcache的配置如下:

Spring与ehcache的集成

我在代码中添加缓存,获取缓存都是使用名为acache的缓存

defaultCacheName为acache

添加缓存的方法

获取缓存的方法

在Controller里设置缓存

在Controller里获取缓存

我天真的以为,我不是明明使用的是defaultCache吗?因为它的名字就是acache,而对象的生命周期在defaultCache里不是无限长吗?为什么过2分钟就消来了呢!!!只能打断点,跟踪问题。

在org.springframework.cache.ehcache.EhCacheManagerFactoryBean这个类的afterPropertiesSet()方法里打个断点,看它一跑起来在缓存池中生成了多少个缓存对象。

默认缓存的配置在对象里的呈现

再看默认缓存对象最终形式和缓存池中的缓存对象数

看到了没,最终defaultCache的名字不是我们配置中设置的acache了,也就是说,配置中name属性设置与否,无关重要了,最终生成的defaultCache,系统帮我们把名字重置为default了,配置中的信息只是它的模板,用这个模板信息来生成一个defaultCache对象。

到现在为止,我们在内存中能看到三个缓存对象,一个defaultCache,和池中的那两个cache对象,但它们的名字都不是acache。

那,既然没有名为acache的缓存对象,为什么我们还能使用名为acache的缓存对象呢?再来打断点跟踪。这次我们打在EhcacheUtil类的add方法里:

add方法中加断点

这时,我们再来看cacheManager这个缓存管理类,看它里面的缓存池有多少缓存对象

defaultCache没有变化,而ehcaches缓存池中多了一个名为acache的缓存对象

这是怎么回事呢?!为什么会多一个缓存对象呢?原来这个名为acache的对象是spring帮我们创建的,它为什么帮我们创建呢?还是配置的原因,因为在配置中配了,spring就帮我们创建了。看配置:

spring里的配置

在org.springframework.cache.ehcache.EhCacheFactoryBean类里,打断点,看是怎么创建名为acache的缓存对象的。着先看下这个类的源码:

看到没?这个类的构造函数里,它在这里设置了这个缓存的配置信息,将会用这些信息来产生缓存对象

断点跟踪:

这个类一开始就设置缓存名

新生成的缓存对象

看这个类的配置,我们就知道一开始缓存过期的原因了

总结:

经过,这一系列的跟踪,我们发现,生成默认缓存对象,在配置里那个name对于它来说,已经不重要,所以你会发现,百度,Google出来的关于defaultCache的配置人家是没有设置name属性的,我一开始也不知道为啥设了这个name属性导致了误解,坑啊!坑了自己!!!

这一过程,也发现了原来spring的org.springframework.cache.ehcache.EhCacheFactoryBean这个类,它就是帮我们创建缓存的,而缓存对象的配置,是它帮忙设置的一些默认配置。

好了,希望对你有帮助!

http://www.lbrq.cn/news/1121419.html

相关文章:

  • 做网站语言服务器 空间/线下营销推广方式都有哪些
  • wordpress page 单页/seo基础知识培训
  • 百度搜索网站排名/福州搜索引擎优化公司
  • 宁波企业网站搭建特点/百度自媒体平台
  • 网站建设 工具/seo北京网站推广
  • 网站内容页显示不出来的/临沂百度推广的电话
  • 网站建设公司哪家好速找盛世传媒/seo优化网站优化
  • 商标网站建设/网站关键词优化排名外包
  • 网站建设学什么语言/免费seo网站的工具
  • wordpress代码主题/名词解释seo
  • 汉中 网站建设/黄页网
  • 八度 网站建设/域名备案查询站长工具
  • 浏览网站 需要我安装wordpress/网络营销的策划流程
  • 菏泽营销网站建设/西安百度推广优化
  • 网站域名有什么用/网站快速排名推荐
  • 苏州网络网站建设/百度企业官网
  • 南宁响应式网站制作/百度网络小说排行榜
  • flash素材网站有哪些/seo问答
  • 专门做水果的网站/班级优化大师是干什么用的
  • 使用wget对网站做镜像/seo培训网
  • 阳信做网站/陕西新站seo
  • 大数据营销笔记本/杭州seo网络推广
  • 做301网站打不开/如何进行网站的推广
  • 网站开发从入门到精通/seo工具软件
  • 阜南做网站/2024年疫情还会封控吗
  • 做自己的网站流量怎么/网站建设流程图
  • 深圳创业补贴2024/福建seo顾问
  • 怎么查询网站是哪家公司做的/网站建设步骤
  • 免费游戏直接能玩/360搜索优化
  • 市县政府网站建设管理工作总结/免费的模板网站
  • Kafka与Flink打造流式数据采集方案:以二手房信息为例
  • Kubernetes 高级调度01
  • Python 基础语法2:组合数据类型、异常
  • 29.安卓逆向2-frida hook技术-逆向os文件(二)IDA工具下载和使用
  • day40 训练和测试的规范写法
  • 文心4.5开源之路:引领技术开放新时代!