我的主管建议我将Hibernate用于检索大量数据的网络分析软件。我计划将JDBC / Spring DBC用于应用程序并使用Memcached或Redis缓存数据。缓存在我们的应用程序中很重要。那么哪个是更好的选择,哪些可以权衡呢?
答案 0 :(得分:0)
首先,我们同意没有“Hibernate Cache”这样的东西。存在的是Hibernate上的集成以允许使用外部缓存提供程序(不,不要将Hibernate中包含的缓存视为生产就绪)。
其次,让我们同意根据您所描述的内容,没有人可以告诉您什么是最适合您的解决方案。你提出问题的方式,你得到的任何答案都只是个人偏见的问题。
话虽如此,我会说你用Hibernate会更好。原因很简单:Hibernate将为您管理缓存。如果有人添加了一些记录,它将自动使可能受影响的查询缓存失效。使用普通的JDBC(或Spring),你必须记住每个地方的缓存,你肯定会不时忘记它。除此之外,Hibernate可以与数据网格(Hibernate OGM)集成,因此,如果您以后认为RDBMS不是您的问题的正确解决方案,您只需更改持久性提供程序,您就可以在后端使用NoSQL数据库。