当前位置: 首页 > 面试题库 >

写在缓存后面Ehcache的新功能?

狄新翰
2023-03-14
问题内容

我正在寻找有关如何在ehcache中使用此新功能后写高速缓存的指南/文档/教程?spring + jpa + ehcache +
hibernate中有演示吗?

只是为了方便起见,写后缓存意味着每次我们持久化实体时,它将被写入缓存而不是正确写入数据库吗?


问题答案:

是的Ehcache报价后写高速缓存的事实并
意味着使用的Ehcache,像Hibernate任何软件,可以利用它无需修改。来自Terracotta的Hibernate
Integration
(请注意,这是一个非独立的文章,即pro缓存):

写后缓存

当您想到缓存时,您将得出以下缓存策略:直读缓存,直写缓存,后写缓存。 hibernate二级缓存是读写缓存
,如果发生缓存未命中,则会从数据库中读取实体,然后将其移交给缓存以进行后续访问。 但是H2LC不是Write-Behind缓存
。使用Terracotta的磁盘持久性和异步模块,对于某些用例来实现后写式将非常有效。 目前,Hibernate只是直接写入数据库
。相反,如果将其修改为写入二级缓存和持久性异步数据库队列,这将减少延迟并显着提高吞吐量。

换句话说,写后缓存并不是Hibernate当前的工作方式(我可能错了,但我认为这不会在不久的将来改变)。但是随时提出一个吉拉问题:)



 类似资料:
  • 我在一个Spring多线程web服务上遇到了一个缓存问题,它有一个数据库后端和基于EHCache的缓存。该服务有许多客户端都在一次又一次地请求同一个对象,每秒钟有几十个请求。只有几个对象被频繁地请求,而大量其他对象被不频繁地请求。对象可以每隔几分钟改变一次,所以缓存的TTL设置为一分钟。从数据库加载对象很慢,至少需要几秒钟。 起初我使用了一个朴素的实现来获取对象: 检查对象是否在缓存中 如果是,则

  • 问题内容: 我在具有数据库后端和基于EHCache的缓存的Spring多线程Web服务上遇到缓存问题。该服务有许多客户端一次又一次地请求同一个对象,每秒有数十个请求。仅频繁请求几个对象,而不经常请求大量其他对象。对象可以每隔几分钟更改一次,因此将缓存的TTL设置为一分钟。从数据库加载对象很慢,并且至少需要几秒钟。 首先,我使用了一个简单的实现来获取对象: 检查对象是否在缓存中。 如果是,请从缓存中

  • 主要问题是EHCAHCE2.6.2是否基于ehcache配置驱逐过期元素;还是我必须按程序驱逐? 在阅读了文档的各个部分(数据寿命和缓存大小)之后,我们将当前配置设置为使用TTI/TTL和CacheManager级别MaxBytesLocalHeap=1024M。在设置了这个之后,我希望ehcache只能使用1GB的堆空间进行缓存,但是从测试(和prodcution)中,我们总是看到JVM堆已经满

  • 问题内容: 我正在生产中运行大型VM,并且想在运行时了解有关我的缓存大小的更多信息。我的缓存都是基于ehache 在运行时查看单个缓存大小的最佳方法是什么。使用JMX或API 是否可以通过对CacheManager的纯Java调用来配置任何选项,或者(暂时忽略JMX)必须以大字符串构建XML配置? 问题答案: 是的,使用Ehcache,您可以配置缓存并仅通过Java代码(没有XML配置)来检索其大

  • 我正在将spring 4.1与ehcache一起使用。我可以用整数键缓存字符串值,但每当我尝试缓存对象时,它都会失败,不会出现任何错误。我保存在缓存中的模型(POJO)确实实现了hashcode、equals和tostring函数。 ehcache配置如下 Spring配置如下所示 我要缓存的类和方法 如果我将getPerson方法的返回值从Party对象替换为String,它就会工作。有什么想法

  • 我们在应用程序中使用ehcache。请看以下配置: 既然我们已经配置为eternal="true ",那么它会永远创建缓存吗?。磁盘空间有可能用完吗? 对磁盘存储的性能会有什么影响?。肯定比内存缓存慢,但是影响有多大。 如果磁盘中存储了更多缓存,是否会导致执行多个文件操作的IO问题? 请建议生产级应用的最佳实践。假设我们有一个3 GB的堆内存和25000个并发用户访问应用程序。但是,我们的应用程序