请大家给小弟讲一下,最好举例说明,本人已经理解耳机缓存的概念。但是不知道
她为什么 对于 并发量大、频繁更新等优缺点。
不要想当然的认为使用了Hibernate的二级缓存就一定能够提高应用程序的性能,仅仅在你能够驾驭它,并且条件适合的情况下才是这样的。
使用hibernate的二级缓存限制还是比较多的。在不了解原理的情况下,可能缓存中的数据频繁的被清空性能下降,可能会有1+N的问题,在批量insert,update数据时二级缓存会占用大量内存,就算不溢出也会花费长时间来GC,不了解缓存的锁可能会出现死锁、脏数据。
hibernate的缺点主要有以下几点:
一、由于对持久层封装过于完整,导致开发人员无法对SQL进行优化,无法灵活使用JDBC的原生SQL,Hibernate封装了JDBC,所以没有JDBC直接访问数据库效率高。要使用数据库的特定优化机制的时候,不适合用Hibernate
二、框架中使用ORM原则,导致配置过于复杂,一旦遇到大型项目,比如300张表以上,配置文件和内容是非常庞大的,另外,DTO满天飞,性能和维护问题随之而来
三、如果项目中各个表中关系复杂,表之间的关系很多,在很多地方把lazy都设置false,会导致数据查询和加载很慢,尤其是级联查询的时候。
四、Hibernate在批量数据处理时有弱势,对于批量的修改,删除,不适合用Hibernate,这也是ORM框架的弱点
我问的是 二级缓存的 缺点