tomcat java_maven和tomcat的关系

tomcat java_maven和tomcat的关系缓存什么是缓存[Cache]存在内存中的临时数据将用户经常查询的数据放在缓存(内存)中,用户去查询数据的时候就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存减少和数据库的数据交换次数,较少系统开销,提高系统效率什么样的数据库能使用缓存经常查询并且不经常改变的数据Mybatis缓存MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。默认情况下,只启用了本地的会话缓存,它仅

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

缓存

  1. 什么是缓存[Cache]
    • 存在内存中的临时数据
    • 将用户经常查询的数据放在缓存(内存)中,用户去查询数据的时候就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。
  2. 为什么使用缓存
    • 减少和数据库的数据交换次数,较少系统开销,提高系统效率
  3. 什么样的数据库能使用缓存
    • 经常查询并且不经常改变的数据

Mybatis缓存

MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。
默认情况下,只启用了本地的会话缓存,它仅仅对一个会话中的数据进行缓存。 要启用全局的二级缓存,只需要在你的 SQL 映射文件中添加一行:

<cache/>

一级缓存

  • 一级缓存也叫本地缓存:
    • 与数据库同一次会话期间查询到的数据库会放在本地缓存中
    • 以后如果需要获取相同的数据,直接从缓存中拿,没必要再去数据库中查询
      在这里插入图片描述
      在这里插入图片描述

缓存失效的情况:
1. 查询不同的情况
2. 增删改操作,可能会改变原来的数据,所以必定会刷新缓存
3. 查询不同的Mapper.xml
4. 手动清理

小结:一级缓存默认是开启的,只在一次SqlSession中有效,也就是拿到连接关闭连接这个区间段!

二级缓存

  • 二级缓存也叫全局缓存,一级缓存作用域太低了,所以诞生了二级缓存
  • 基于namespace级别的缓存,一个名称空间,对应一个二级缓存
  • 工作机制
    • 一个会话查询到一条数据,这个数据就会被放在当前会话的一级缓存中
    • 如果当前会话关闭了,这个会话对应的一级缓存就没了,但是我们想要的是,会话全关闭了,一级缓存中的数据被保存到二级缓存中
    • 新的会话查询到信息,就可以从二级缓存中获取内容
    • 不同的mapper查询出来的结果会放在自己的缓存中

在这里插入图片描述
在这里插入图片描述

  • 只有开启了二级缓存,在同一个Mapper下就有效
  • 所有的数据都会先放在一级缓存中
  • 只有当会话提交,或者关闭的时候,才会提交到二级缓存中

Mybatis原理
在这里插入图片描述
另外还可以自定义缓存

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168959.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Log4j.properties配置文件详解「建议收藏」

    Log4j.properties配置文件详解「建议收藏」Log4J的配置文件(ConfigurationFile)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1.配置文件Log4J配置文件的基本格式如下:#配置根Loggerlog4j.rootLogger=[level],appenderName,appenderName1,…#配置日志信息输出目的地Appender及Appender选项log4j.a

  • Android入门基础教程(小白速成1)

    Android入门基础教程(小白速成1)Android入门基础教程(小白速成1)编译工具:AndroidStudio各种工具其实大同小异开发环境的搭建还有项目新建这里就不过多说明了,网上有很多教程。项目新建按照需求来就好,我这里选用空的界面(EmptyActivity)和Android4.0.3,大家一定要注意安卓版本匹配问题鸭,之前每次新建项目都报错,最后才发现是版本匹配问题。话不多说,进入正题吧!HelloWorld!新建好项目以后,我们首先认识几个主要用到的界面。MainActivity.java页面,这个页面相当

  • CSS简单入门

    CSS简单入门

  • C# OleDbCommand 和 OleDbDataReader 使用小结[通俗易懂]

    C# OleDbCommand 和 OleDbDataReader 使用小结[通俗易懂]usingSystem.Data;usingSystem.Data.OleDb;OleDbConnectionthisConnection=newOleDbConnection(      "Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+Server.MapPath("data.mdb"));//获取本地Access//数据库路径  …

  • 【Linux】fatal: unable to access ‘https://github xxxxxxxxx的解决方法

    【Linux】fatal: unable to access ‘https://github xxxxxxxxx的解决方法fatal:unabletoaccess‘https://githubxxxxxxxxx的解决方法报错:输入gitclonehttps://github.com/Avnet/bdf.git后报错如下:解决办法:将命令中的https改为git。即:将命令改为gitclonegit://github.com/Avnet/bdf.git,成功:…

  • go lang的激活码2021(最新序列号破解)

    go lang的激活码2021(最新序列号破解),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号