Hibernate一级缓存(session)与二级缓存(sessionFactory)的知识点。

        一级缓存:session级别的缓存,当我们用session调用  get() / load() / find() / Query()等查询出来的数据,默认在session中就会有一份缓存数据,缓存数据就是从数据库中将一些数据拷贝一份放到对应的地方。每次获取数据时候,会先从缓存中查找,如果没有再去数据库查询。提高了查询效率,减少了对数据库的直接操作。若不想使用一级缓存,则需要手动封装方法,方法内部先调用session.clear();

        ·一级缓存 不可卸载。只要使用了session 肯定就用到了session缓存,它hibernate控制的,我们不能手动配置。

        二级缓存:sessionFacory级别的缓存可以做到多个session共享此数据。sessionFactory缓存分类:一、内缓存:预制sql语句。对象和数据库的映射信息。二、外缓存:存储的是我们允许使用的二级缓存对

        二级缓存中的数据应具有:1.不经常进行改动的信息,多次查询的信息。2.对数据并发时候的安全没有要求。

        缓存中查询数据的顺序:先从一级缓存中查找,如果没有再从二级缓存中查找,如果还没有,则从数据库中查询。

猜你喜欢

转载自blog.csdn.net/qq_42401622/article/details/81085810