gpt4 book ai didi

java - Java Hibernate二级缓存默认启用吗?

转载 作者:行者123 更新时间:2023-12-02 10:42:56 26 4
gpt4 key购买 nike

hibernate二级缓存默认启用吗?

我在 org.hibernate.cfg.Configuration 中没有为其配置任何内容,这是否意味着它没有被使用。

如果我确实想使用它,可能会提高性能,但会增加内存使用量,或者只是使用磁盘空间。使用数据库的主要原因之一是我的应用程序可以扩展并且不需要越来越多的内存。

最佳答案

Is hibernate second level cache enabled by default ?

事实并非如此。二级缓存是一个单独的缓存库,您需要将其添加为依赖项并对其进行配置,例如 EHCache、hazelcast、cache2k...

If I did want to use it would the possibly improved performance come at the expense of increased memory usage or does it just use disk space.

用更多的内存使用来换取更少的外部请求是缓存的本质。根据您的应用程序,这可能会产生不同的效果。如果您的应用程序请求某些行的频率不高于其他行,并且您有大量数据,则缓存可能会适得其反。不过,这种情况非常罕见。

您可以限制缓存使用的内存量,因此一旦满了,使用的内存将相当恒定。

One of the main reasons for using a database is so that my application can scale and does not require more and more memory.

“规模”有不同的含义。这可能意味着您的应用程序需要应对越来越多的数据,或者,这可能意味着您的应用程序需要应对越来越多的用户。或两者。缓存可以帮助您处理更多用户并以更低的延迟处理请求,从而改善您的用户体验。

对于较小的缓存大小,您的内存消耗可能会更低。由于从数据库请求数据的 Activity 较少,因此虚拟机中的 GC Activity 也较少,并且需要较少的数据库连接和其他资源。

我的建议:

我的经验表明,即使是非常小的缓存(例如 1000 个条目)也会产生很大的影响。这是因为 99% 的应用程序都有一些经常请求的数据热点。如果不了解您的应用程序,就不可能在理论层面上回答您的问题。最好的方法就是尝试一下。

关于java - Java Hibernate二级缓存默认启用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52804995/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com