一级缓存是指在同一个SqlSession中,对同一个查询语句的结果会进行缓存,当再次执行相同的查询语句时,直接从缓存中获取结果而不需要再次查询数据库。一级缓存的作用范围是在同一个SqlSession中。因为一级缓存的存储位置是在内存中的,因此可以说是一种局部缓存。 二级缓存是指在多个SqlSession***享缓存数据,它的存储位置在MapperFactory中。二级缓存的作用范围是在同一个Mapper namespace下,多个SqlSession共享二级缓存。如果开启了二级缓存,当一个SqlSession执行查询后,查询结果会被缓存到二级缓存中。当其他的SqlSession需要执行相同的查询时,会先检查二级缓存中是否有缓存数据,如果有则直接从缓存中获取数据,否则再去查询数据库。因为二级缓存的存储位置是在MapperFactory中,因此可以说是一种全局缓存。 需要注意的是,使用缓存会增加系统复杂性,可能会带来缓存一致性等问题。因此,在使用缓存时需要仔细评估和决策。同时,一级缓存和二级缓存也有一些限制条件,比如二级缓存只能缓存可序列化的对象等。
4 1

相关推荐

11-15 17:19
湖南大学 Java
成果成果成果果:这是哪个公司的hr,这么离谱吗,我没见过用性别卡技术岗的,身边女性同学拿大厂offer的比比皆是
点赞 评论 收藏
分享
今天 11:23
重庆邮电大学 C++
点赞 评论 收藏
分享
牛客网
牛客企业服务