Mybatis--简略4

news/2024/10/18 20:20:29 标签: mybatis, java

缓存

缓存原始意义是指访问速度比一般随机存取存储器(RAM)快的一种高速存储器

缓存是指可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速率很快;缓存的设置是所有现代计算机系统发挥高性能的重要因素之一

缓存用于加快数据访问速度,降低冗余传输,缓解带宽瓶颈和瞬间拥塞,减少距离时延。主要分为数据库缓存、服务器缓存、CDN缓存、浏览器缓存和Web应用层缓存。缓存缺点包括无清理机制和开发困扰。内存缓存淘汰机制有FIFO、LFU和LRU策略。

从数据库中查询出来的对象在使用完后不要销毁,而是存储在内存(缓存)中,

当再次需要获取该对象时,直接从内存(缓存)中直接获取,不再向数据库执行

select 语句,从而减少了对数据库的查询次数,因此提高了数据库的性能。

mybatis一级缓存

一级缓存作用于一个SqlSession,在SqlSession查询完成后会将数据写入缓存,简单理解为SqlSession内部有一个容器,放置这些数据,第二次就不会去数据库查找。

但是当SqlSession执行清空缓存命令,对数据库中的数据做出修改或者是销毁SqlSession对象时,缓存就会失效,下一次查询就会进入到数据库中查找。

mybatis二级缓存

二级缓存是SqlSessionFactory级别的(默认是关闭的),执行sql后就会将数据放入二级缓存,二级缓存不会因为SqlSession的清除缓存,对象销毁而失效。

开启二级缓存

mybatis配置文件中开启

<setting name="cacheEnabled" value="true"/>

在使用的mapper中设置

<cache flushInterval="1"></cache>

另外可以设置策略,定时删除缓存,防止赃读

使用时所有的 POJO 类实现序列化接口 Java.io. Serializable。


http://www.niftyadmin.cn/n/5711602.html

相关文章

安卓cpu知识

背景 目前的cpu都是多核的&#xff0c;为了有更好的能效&#xff0c;每个核的频率从低往高不等。市面上&#xff0c;大家根据频率不同&#xff0c;都叫大小核。既然分了大小核&#xff0c;那么多核心&#xff0c;就要有不同的cpu调度策略。所以cpu上的所有核&#xff0c;又会根…

向“新”发力,朝“质”攀峰 | 资福医疗携手大圣胃肠一体内窥镜系统亮相江苏省医学会第八次健康管理学学术会议

伴随“健康中国”战略的深入实施&#xff0c;为进一步加强健康管理学科内涵建设&#xff0c;提升健康管理服务能力&#xff0c;促进健康管理学科创新及多部门、多产业交叉融合&#xff0c;2024年10月12&#xff5e;14日“江苏省医学会第八次健康管理学学术会议”在南京顺利召开…

GitLab CVE-2024-6678、CVE-2024-8640 漏洞解决方案

极狐GitLab 近日发布安全补丁版本17.3.2, 17.2.5, 17.1.7&#xff0c;修复了17个安全漏洞&#xff0c;本分分享 CVE-2024-6678、CVE-2024-8640 两个漏洞详情。 极狐GitLab 正式推出面向 GitLab 老旧版本免费用户的专业升级服务&#xff0c;为 GitLab 老旧版本进行专业升级&…

企业如何精准定位,实现高效传播与影响力提升?

在竞争激烈的市场环境中&#xff0c;企业要实现精准定位、高效传播与影响力提升&#xff0c;必须采取一系列策略性的行动。这不仅关乎企业的品牌定位&#xff0c;还涉及市场营销、内容创作及公关传播等多个层面。以下是一些关键的策略和建议&#xff1a; 1、需要明确品牌定位 …

《C++代码美学大揭秘:注释风格差异背后的深刻洞察》

在 C编程的广阔世界里&#xff0c;注释不仅仅是对代码的解释说明&#xff0c;更是一种艺术表达。不同的 C注释风格反映出程序员们独特的审美差异&#xff0c;这些差异不仅影响着代码的可读性和可维护性&#xff0c;还展现了编程者的思维方式和个人风格。 一、引言 C作为一种强…

项目管理软件真的能让敏捷开发变得更简单吗?

敏捷开发是一种以快速交付和适应变化为核心特点的软件开发方法。其特点包括尽早并持续交付、能够驾驭需求变化、版本周期内尽量不加任务、业务与开发协同工作、以人为核心、团队配置敏捷等。 例如&#xff0c;尽早并持续交付可使用的软件&#xff0c;使客户能够更早地体验产品…

TS配置文件

内置配置 watch 会自动监测源文件的修改并编译代码&#xff0c;因此我们不再需要每次都调用 tsc 命令removeComments会自动删除注释&#xff0c;减小文件体积target指定想要编译的目标js版本TS默认给未指定类型的变量赋值any&#xff0c;开启noImplicitAny则报错TS默认允许赋值…

(C/C++)文件

目录 1. 为什么使用文件 2. 什么是文件 2.1 程序文件 2.2 数据文件 3. 文件的打开和关闭 3.1 文件指针 3.2 文件的打开和关闭 4. 文件的顺序读写 fputc fgetc fputs fgets fprintf fscanf fwrite fread sprintf和sscanf snprintf ​编辑 4对比一组函数(prin…