Hibernate 之 二级缓存(二)
();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
}
以上便是Hibernate二级缓存的EHCache产品的使用方式.当然二级缓存有着自己适用的场景.
适合存放到第二级缓存中的数据?
1很少被修改的数据
2不是很重要的数据,允许出现偶尔并发的数据
3不会被并发访问的数据
4参考数据,指的是供应用参考的常量数据,它的实例数目有限,它的实例会被许多其他类的实例引用,实例极少或者从来不会被修改。
不适合存放到第二级缓存的数据?
1经常被修改的数据
2财务数据,绝对不允许出现并发
3与其他应用共享的数据。
总结
缓存是为性能而生,但不要想当然的以为缓存一定能提高性能,仅仅在你能够驾驭它并且条件合适的情况下才是这样的。hibernate的二级缓存限制还是比较多的,在不了解原理的情况下乱用,可能会有N+1的问题。不当的使用还可能导致读出脏数据。