缓存

1.一级缓存
2.二级缓存

缓存的意义

应用程序和数据库的交互的过程是一个相对比较耗时的过程,缓存是为了让应用程序减少对数据库的访问,提升程序运行效率

1.一级缓存(Session缓存)

1.1 Mybatis默认SqlSession缓存开启
    1.1.1 同一个SqlSession 对象调用同一个
    1.1.3 有效范围必须是同一个SqlSession对象
1.2 缓存流程

1.先去缓存区找是否存在statement
2.返回结果
3.如果没有缓存statement对象,就去数据库中获取数据
4.数据库返回查询结果
5.把查询结果放到对应的缓存区中

2.二级缓存(SqlSessionFactory缓存)

2.1 有效范围:同一个factory内的任意SqlSession
2.2 什么时候使用?
当数据频繁被使用,很少被修改
2.3 使用二级缓存的步骤

1.在mapper.xml中添加(含义:是否允许对二级缓存内容进行读取),则需要把实例类序列化:public class Log {···} -->public class Log implements Serializable{···}

你可能感兴趣的:(缓存)