Hibernate与Ibatis缓存

Hibernate与Ibatis缓存,hibernate,data-access-layer,ibatis,Hibernate,Data Access Layer,Ibatis,我们可以使用infinispan或ehcache/terracotta等二级缓存轻松加速hibernate应用程序,。。。但是ibatis只有一个简单的接口来实现缓存。hibernate知道更多关于数据的信息,因此它也有助于更好地缓存数据。另一方面,ibatis的简单性也是它的强大之处,如果我们不同时使用缓存,它比hibernate更快 我的问题是,;如果我将hibernate与二级缓存结合使用,将ibatis3与缓存实现结合使用作为接口,那么对于数据访问层,哪一个更快 干杯,快速不是一种普遍的

我们可以使用infinispan或ehcache/terracotta等二级缓存轻松加速hibernate应用程序,。。。但是ibatis只有一个简单的接口来实现缓存。hibernate知道更多关于数据的信息,因此它也有助于更好地缓存数据。另一方面,ibatis的简单性也是它的强大之处,如果我们不同时使用缓存,它比hibernate更快

我的问题是,;如果我将hibernate与二级缓存结合使用,将ibatis3与缓存实现结合使用作为接口,那么对于数据访问层,哪一个更快


干杯,

快速不是一种普遍的品质,必须结合上下文来考虑性能

一个好的方法似乎是:

  • 编码足够快、足够高效整个应用程序中需要的大量查询。提前完成该阶段,因为您的代码编写速度很快,所以不会使用复杂的技术来提高性能
  • 查找速度不够快的1%查询,这些查询经常被调用等,因此它们占总时间最多(仅考虑真正用户等待的查询)
  • 花足够的时间优化这一点(你有这个时间是因为你在第一阶段获得了时间)。您可以快速使用一些您不会全局考虑的东西(内存缓存、本机SQL、数据库过程……)
  • 返回到2,直到时间用完,或者用户满意为止

  • “如果我们不同时使用缓存,它比hibernate要快”真的吗?什么时候做什么?你量过了吗?嗨,这是克林顿说的:“一般来说:*iBATIS具有更好的查询和加载性能,从SQL到对象。*Hibernate有一个更好的缓存子系统,因为它有关于表/类映射的附加信息。两者都支持批量更新和连接映射。与访问数据库本身的成本相比,实际框架代码中的任何差异都是微不足道的。因此,不同的应用程序将执行非常不同的操作,一些应用程序将受益于iBATIS,而另一些应用程序将受益于Hibernate。它们没有直接的可比性。”