问题标签 [ehcache-3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ehcache-3 - terracotta 开源在 ecache.xml 中不起作用 - terracotta:clustered-shared
我正在从 ehcache 2 迁移到 ehcache 3.5。我正在尝试使用 terracotta 开源与集群共享缓存。
下面是我的java代码,
有人可以帮助我转换为 ehcache.xml
tc-config.xml
我收到异常,例如服务器中不存在池名称“pool1”。
java-8 - 无法使用 Hibernate 5.3.5、Ehcache 3.5.2、jdk 8、wildfly 8 配置 ehcache
我正在使用 Hibernate 5.3.5 和 ehcache 3.5.2 ,我的 hibernate.cfg.xml 具有以下条目
我在类路径中添加了以下 jar
- ehcache-3.5.2
- hibernate-core-5.3.5.Final
- hibernate-jcache-5.3.5.Final
- 字节好友1.8.17
- 缓存-api-1.1.0
- slf4j-api-1.7.7
在启动wildfly时,我收到以下异常
spring - 除非调用 cachemanager.getCacheNames() 否则无法从 cachemanager 获取缓存
我的应用程序使用 Spring 4.3.x、EhCache 3.6 和 javax Cache 1.1.0。以下是我在应用程序中配置 javax CacheManager 的方式:
AppCacheManagerFactoryBean(它只是 JCacheManagerFactoryBean 的定制版本)帮助我为我的应用程序配置一个全局持久性目录。这是它的外观:
这是我定义缓存的方式。我使用 Ehcache API 来创建我的缓存,因为我的缓存需要的某些功能无法通过 JCache API 获得。
当我尝试从应用程序的其他地方的 CacheManager 检索缓存时,会引发空指针异常。
但是,如果我在 CacheManager 中调用 getCacheNames() 方法后检索缓存,则可以正常获取缓存。
我错过了什么?请帮我。
java - 如何在基于 xml 的 spring 配置中为 hibernate.javax.cache.uri 属性指定相对路径
我有使用基于 xml 的配置构建的遗留 spring 应用程序我正在尝试使用二级缓存配置会话工厂。
我有ecache.xml
文件存在于资源文件夹中,hibernate.javax.cache.uri
属性也需要ecache.xml
.
如果我提供 URI,因为file:///c:/App/resources/ecache.xml
它的工作原理。但这不利于部署、维护。
如何在基于 spring xml 的配置中指定相对路径classpath:ehcache.xml
?/WEB-INF/ehcahe.xml
注意:我没有使用弹簧靴。
java - 两个流行的 java 缓存框架 hazelcast 缓存与 ehcache 之间有什么区别/比较?
寻找两个缓存框架之间的比较 --> Hazelcast v3.10.5 vs ehcache v3.6.1,还请说明性能。
两个流行的缓存框架在一段时间内演变。我们现在是 2018 年。
我们选择缓存框架以获得更好的性能、分布式、可扩展性、容错性,而不是每次调用都访问数据库。
当我们为应用程序选择直写/同步调用时,哪个具有更好的性能,假设每秒有 1000 个用户请求。
一些初步的研究要素:
了解 Hazelcast 是分布式的、可扩展的、有弹性的。
Ehcache 是一个独立的框架,而带有 terracotta 的 ehcache 是分布式的。
请参考链接:是否可以在没有 Terracotta Enterprise Suite 的情况下使用 Ehcache 实现分布式缓存?
ehcache-3 - 内存中的 Ehcache 3 大小
在 Ehcache 2 中,可以使用 calculateInMemorySize() 获取内存中的大小,例如:
Ehcache 3.6.1 中的等价物是什么?
在下面,getOccupiedByteSize() 方法返回 -1:
它确实适用于内存单元有限的缓存。例如,当缓存配置为:
这是不可取的,因为缓存必须配置元素限制,而不是内存限制。
根据下面亨利的回答,可以使用 Sizeof.deepSizeOf() 获取内存大小,但是需要一些缓存实现知识来排除不需要的对象,例如:
这里有一个增强请求来简化它:https ://github.com/ehcache/ehcache3/issues/2500
java - 将 ehCache 3 ehcache.xml 放在 Springboot 2 (Spring 5 ) 项目的 jar 文件之外
花了很长时间弄清楚如何在 Spring 5 (Springboot 2.x) 项目的 jar 文件之外外部化 ehCache 3 ehcache.xml。这很重要,这样可以调整 ehcache 设置而无需重新部署项目。
ehcache - 如果 LoaderWriter 失败,使 Ehcache 返回过期数据
是否可以设置 Ehcache,如果底层 CacheLoaderWriter 失败(抛出异常),缓存将返回“过期”数据?
根据我的测试,如果给定的缓存条目已过期,并且 CacheLoaderWriter 无法加载数据,则缓存返回 null。
但是,就我而言,返回过期的缓存数据总比什么都不返回要好。我正在做的解决方法是将最新成功加载的数据存储在 CacheLoaderWriter 中,因此如果新的加载执行失败,我会返回此副本。无论如何,认为以某种方式返回它已经在缓存中的数据,而不是在 CacheLoaderWriter 中保留另一个副本会更“内存效率”。
我正在使用 ehcache 3.4.0
spring-boot - 无法使用 ehcache 版本 3.4.0 和 spring boot 2.0.2.RELEASE 进行缓存
我曾尝试通过多种方式在 Spring Boot 应用程序上实现缓存,这似乎是正确的方法,但它只是记录了这一点
我有一个事件记录器,但我没有看到它的任何输出:
缓存配置
缓存方法
ehcache.xml 位于资源下
Gradle 依赖项springBootVersion = '2.0.2.RELEASE'
我查看了许多帖子和博客,看来我这样做是正确的,但我必须在某个地方出错。
https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#cache
https://www.baeldung.com/spring-cache-tutorial
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-caching.html
https://www.baeldung.com/hibernate-second-level-cache
https://medium.com/@igorkosandyak/spring-boot-caching-d74591abe117
建议?
---------------更新1-----------------
我收到一条错误消息:
当我添加时我得到了这个:
痕迹
-------------- 更新 2------------------
我将以下内容添加到我的 gradle 文件中
使用 ehcache 显示的唯一 jar 是:
我有
也在application.properties
。这应该解释为什么我添加时它失败了spring.cache.jcache.config=classpath:ehcache.xml.
Butin intellij 它在我的项目结构中:
java - 服务器启动后将 Ehcache 的缓存数据写入本地文件(磁盘),重新启动时应从文件(磁盘)中提取数据
我正在服务器启动时创建缓存(服务器启动每次需要 10 分钟)。目前我正在使用内存缓存(Ehcache)。现在我想建立一个机制,以便一旦数据被缓存,我应该能够在几秒钟内启动服务器。将缓存的持久副本写入文件并在重新启动时应该从该文件中获取缓存。[如果问题不清楚,请告诉我。]。我期待java中的解决方案。
我正在使用上面的 xml。你(@vivekg)可以建议更改此 xml 吗?