代码之家  ›  专栏  ›  技术社区  ›  sirmak

休眠与iBATIS缓存

  •  4
  • sirmak  · 技术社区  · 15 年前

    我们可以使用InfiniSpan或ehcache/Terracotta等工具,通过二级缓存轻松加速Hibernate应用程序。但是IBatis只有一个简单的接口来实现缓存。Hibernate知道更多关于数据的信息,因此它也有助于更好的缓存。另一方面,iBATIS的简单性也是它的强大功能,如果我们不同时使用缓存,它比休眠更快。

    我的问题是:如果我将Hibernate与二级缓存结合使用,将IBatis3与缓存实现结合使用,哪一个更适合数据访问层?

    干杯,

    1 回复  |  直到 15 年前
        1
  •  4
  •   KLE rslite    15 年前

    快速不是一般的质量,性能必须在上下文中考虑。

    一个好方法是:

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