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