服务器磁盘卷组缓存cache设置介绍

工具1: storcli

a. 确认软件包是否安装

    [root@localhost ~]#rpm -qa | grep storcli

    storcli-1.21.06-1.noarch

    备注:若检索结果为空,需要安装对应的软件安装包。安装命令如下:

    #rpm -ivh storcli-xx-xx-1.noarch.rpm

b. 查看逻辑卷读/写缓存状态

    备注:请关注标红部分示例为:NRWTD, 参数解释如下:

    NR: No Read Ahead(关闭预读,即读缓存关闭)

    R:Read Ahead(开启预读,即开启读缓存)

    WB: Write Back(开启回写,即开启写缓存)

    AWB: Always Write Back(强制开启回写,强制开启写缓存)

    WT: Write Through(直写模式,关闭回写/写缓存) 

  [root@localhost ~]# /opt/MegaRAID/storcli/storcli64 /c0/v1 show

    Controller = 0

    Status = Success

    Description = None

    Virtual Drives :

    ==============

    --------------------------------------------------------------

    DG/VD TYPE State Access Consist Cache Cac sCC Size Name

    --------------------------------------------------------------

   1/1 RAID10 Optl RW No NRWTD - ON 2.180 TB

   --------------------------------------------------------------

   Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|Dgrd=Degraded

Optl=Optimal|RO=ReadOnly|RW=ReadWrite|HD=Hidden|TRANS=TransportReady|B=Blocked| Consist=Consistent|R=ReadAheadAlways|NR=NoReadAhead|WB=WriteBack| AWB=AlwaysWriteBack|WT=WriteThrough|C=CachedIO|D=DirectIO|sCC=ScheduledCheck Consistency

c. 读缓存打开/关闭

    语法如下:

    storcli /cx/vx set rdcache=RA|NoRA

    参数说明:

    cx: x为数字,从0开始,代表控制器编号

    vx: x为数字,从0开始,代表逻辑卷编号

    RA: Read Ahead

    NoRA: No Read Ahead

    示例:

    [root@localhost ~]# /opt/MegaRAID/storcli/storcli64 /c0/v1 set rdcache=ra

    Controller = 0

    Status = Success

    Description = None

    Detailed Status :

    ===============

    ---------------------------------------

    VD Property Value Status ErrMsg ErrCd

    ---------------------------------------

    1 rdCache RA Success - 0

    ---------------------------------------

    [root@localhost ~]# /opt/MegaRAID/storcli/storcli64 /c0/v1 set rdcache=nora

    Controller = 0

    Status = Success

    Description = None

    Detailed Status :

    ===============

     ---------------------------------------

    VD Property Value Status ErrMsg ErrCd

    ---------------------------------------

    1 rdCache NoRA Success - 0

    ---------------------------------------

d. 写缓存打开/关闭

    语法如下:

    storcli /cx/vx set wrcache=WT|WB|AWB

    参数说明:

    cx: x为数字,从0开始,代表控制器编号

    vx: x为数字,从0开始,代表逻辑卷编号

    WT: Write Through

    WB: Write Back

    AWB: Always Write Back

    示例:

    [root@localhost ~]# /opt/MegaRAID/storcli/storcli64 /c0/v1 set wrcache=wt

    Controller = 0

    Status = Success

    Description = None

    Detailed Status :

    ===============

    ---------------------------------------

    VD Property Value Status ErrMsg ErrCd

    ---------------------------------------

    1 wrCache WT Success - 0

    ---------------------------------------

    [root@localhost ~]# /opt/MegaRAID/storcli/storcli64 /c0/v1 set wrcache=wb

    Controller = 0

    Status = Success

    Description = None

    Detailed Status :

    ===============

    ---------------------------------------

    VD Property Value Status ErrMsg ErrCd

    ---------------------------------------

    1 wrCache WB Success - 0

    ---------------------------------------

    [root@localhost ~]# /opt/MegaRAID/storcli/storcli64 /c0/v1 set wrcache=awb

    Controller = 0

    Status = Success

    Description = None

    Detailed Status :

    ===============

    ---------------------------------------

    VD Property Value Status ErrMsg ErrCd

    ---------------------------------------

    1 wrCache AWB Success - 0

    ---------------------------------------

工具2:megacli

a.  确认软件包是否安装

    [root@localhost ~]# rpm -qa | grep -i MegaCli

    MegaCli-8.07.10-1.noarch

    备注:若检索结果为空,需要安装对应的软件安装包。安装命令如下:

    #rpm -ivh MegaCli-xx-xx-1.noarch.rpm

b. 查看逻辑卷读/写缓存状态

    请关注标红部分示例为: WriteBack, ReadAheadNone, Direct, Write Cache OK if Bad BBU, 参数解释如下:

    NORA: No Read Ahead(关闭预读,即读缓存关闭)

    RA:Read Ahead(开启预读,即开启读缓存)

    WB: Write Back(开启回写,即开启写缓存)

    ForcedWB: Forced Write Back(强制开启回写,强制开启写缓存)

    WT: Write Through(直写模式,关闭回写/写缓存)

    示例:

    [root@localhost ~]# /opt/MegaRAID/MegaCli/MegaCli64 -ldinfo -l1 -a0

    Adapter 0 -- Virtual Drive Information:

    Virtual Drive: 1 (Target Id: 1)

    Name :

    RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0

    Size : 2.180 TB

    Sector Size : 512

    Is VD emulated : Yes

    Mirror Data : 2.180 TB

    State : Optimal

    Strip Size : 64 KB

    Number Of Drives per span:2

    Span Depth : 5

    Default Cache Policy: WriteBack, ReadAheadNone, Direct, Write Cache OK if Bad BBU

    Current Cache Policy: WriteBack, ReadAheadNone, Direct, Write Cache OK if Bad BBU

    Default Access Policy: Read/Write

    Current Access Policy: Read/Write

    Disk Cache Policy : Disk's Default

    Ongoing Progresses:

    Check Consistency : Completed 26%, Taken 493 min.

    Encryption Type : None

    Bad Blocks Exist: No

    PI type: No PI

    Is VD Cached: No

    Exit Code: 0x00

c.  读/写缓存打开/关闭

    语法如下:

    MegaCli -LDSetProp {-Name LdNamestring} | -RW|RO|Blocked|RemoveBlocked | WT|WB|ForcedWB [-Immediate] |RA|NORA|ADRA |

    DsblPI

    | Cached|Direct | -EnDskCache|DisDskCache | CachedBadBBU|NoCachedBadBBU

    -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL

    参数说明:

    aN: N为数字,从0开始,代表控制器编号

    Lx: x为数字,从0开始,代表逻辑卷编号

    NORA: No Read Ahead(关闭预读,即读缓存关闭)

    RA:Read Ahead(开启预读,即开启读缓存)

    WB: Write Back(开启回写,即开启写缓存)

    ForcedWB: Forced Write Back(强制开启回写,强制开启写缓存)

    WT: Write Through(直写模式,关闭回写/写缓存)

    读缓存修改示例: 

  [root@localhost ~]# /opt/MegaRAID/MegaCli/MegaCli64 -LdSetProp RA -L1 -a0

  Set Read Policy to ReadAhead on Adapter 0, VD 1 (target id: 1) success

  Exit Code: 0x00

  [root@localhost ~]# /opt/MegaRAID/MegaCli/MegaCli64 -LdSetProp NORA -L1 -a0

  Set Read Policy to NoReadAhead on Adapter 0, VD 1 (target id: 1) success

  Exit Code: 0x00

    读缓存修改示例:

    [root@localhost ~]# /opt/MegaRAID/MegaCli/MegaCli64 -LdSetProp WB -L1 -a0

    Set Write Policy to WriteBack on Adapter 0, VD 1 (target id: 1) success

    Exit Code: 0x00

    [root@localhost ~]#/opt/MegaRAID/MegaCli/MegaCli64 -LdSetProp WT -L1 -a0

    Set Write Policy to WriteThrough on Adapter 0, VD 1 (target id: 1) success

    Exit Code: 0x00

    [root@localhost ~]#/opt/MegaRAID/MegaCli/MegaCli64 -LdSetProp ForcedWB -L1 -a0

    Set Write Policy to Forced WriteBack on Adapter 0, VD 1 (target id: 1) success

    Exit Code: 0x00

工具3:hpssacli/ssacli

说明:

1. hpssacli工具为旧工具,目前大部分线上服务器都安装有对应的安装包,ssacli为新工具,在旧工具无法正常执行的情况下,建议使用新工具,语法完全一致。

2. ssdsmartpath(固态硬盘智能路径)和caching(写缓存)只能打开一个,在一个打开的状态下,另外一个的值必定是关闭的,例如:

    caching:Enable的情况下,ssdsmartpath的值必定为disabled.

a. 确认安装包是否安装

    [root@localhost ~]# rpm -qa | grep hpssacli

    hpssacli-2.20-11.0.x86_64

    备注:若检索结果为空,需要安装对应的软件安装包。安装命令如下:

    #rpm -ivh hpssacli-xx-xx.x86_64.rpm

    #rpm -ivh ssacli-xx-xx.x86_64.rpm

b. 确认硬盘控制器所在slot插槽

    说明:如下所示, 阵列卡型号为Smart Array P840ar, 插槽位置为Slot 0, 务必查询信息,插槽位置后面的命令要用。

    [root@localhost ~]# hpssacli ctrl all show

    Smart Array P840ar in Slot 0 (Embedded) (sn: PVYKH0BRH710CO)

c.  确认逻辑卷写缓存(caching)状态

    参数说明:

    ctrl: Controller 简写

    slot=0: 硬盘控制器所在PCIe插槽位置

    ld 2: ld(logical drive 逻辑卷),后面的数字为逻辑卷编号,顺序从1开始

    show: 信息展示

    说明:请关注示例中caching的值,示例中为Disabled(即关闭)

    [root@localhost ~]# hpssacli ctrl slot=0 ld 2 show

    Smart Array P840ar in Slot 0 (Embedded)

    array B

    Logical Drive: 2

    Size: 2.2 TB

    Fault Tolerance: 1+0

    Heads: 255

    Sectors Per Track: 32

    Cylinders: 65535

    Strip Size: 256 KB

    Full Stripe Size: 1280 KB

    Status: OK

    MultiDomain Status: OK

    Caching: Disabled

    Unique Identifier: 600508B1001C0D8EB99EB2A7EE5060E4

    Disk Name: /dev/sdb

    Mount Points: /opt/uredis 2.2 TB Partition Number 1

    Logical Drive Label: 06172624PVYKH0BRH710COB70A

    Mirror Group 1:

    physicaldrive 1I:1:5 (port 1I:box 1:bay 5, Solid State SATA, 480.1 GB, OK)

    physicaldrive 1I:1:6 (port 1I:box 1:bay 6, Solid State SATA, 480.1 GB, OK)

    physicaldrive 1I:1:7 (port 1I:box 1:bay 7, Solid State SATA, 480.1 GB, OK)

    physicaldrive 1I:1:8 (port 1I:box 1:bay 8, Solid State SATA, 480.1 GB, OK)

    physicaldrive 1I:1:4 (port 1I:box 1:bay 4, Solid State SATA, 480.1 GB, OK)

    Mirror Group 2:

    physicaldrive 1I:1:3 (port 1I:box 1:bay 3, Solid State SATA, 480.1 GB, OK)

    physicaldrive 2I:2:1 (port 2I:box 2:bay 1, Solid State SATA, 480.1 GB, OK)

    physicaldrive 2I:2:2 (port 2I:box 2:bay 2, Solid State SATA, 480.1 GB, OK)

    physicaldrive 2I:2:3 (port 2I:box 2:bay 3, Solid State SATA, 480.1 GB, OK)

    physicaldrive 2I:2:4 (port 2I:box 2:bay 4, Solid State SATA, 480.1 GB, OK)

    Drive Type: Data

    LD Acceleration Method: HP SSD Smart Path

d. 确认逻辑卷ssdsmartpath状态

    参数说明:

    ctrl: Controller 简写

    slot=0: 硬盘控制器所在PCIe插槽位置

    array b: ld(array, 磁盘阵列,也即逻辑卷),后面的字母为逻辑卷编号,顺序从a开始

    show: 信息展示

    说明:请关注示例中ssdsmartpath的值,示例中为Enable(即关闭)

    [root@localhost ~]# hpssacli ctrl slot=0 array b show

    Smart Array P840ar in Slot 0 (Embedded)

    Array: B

    Interface Type: Solid State SATA

    Unused Space: 0 MB (0.0%)

    Used Space: 4.4 TB (100.0%)

    Status: OK

    MultiDomain Status: OK

    Array Type: Data

    HP SSD Smart Path: enable

e. 关闭固态硬件智能路径并打开写缓存示例

    [root@localhost ~]# hpssacli ctrl slot=0 array b modify ssdsmartpath=disable

    [root@localhost ~]# hpssacli ctrl slot=0 ld 2 modify caching=enable

f. 关闭写缓存并打开固态硬盘智能路径

    [root@localhost ~]# hpssacli ctrl slot=0 ld 2 modify caching=disable

    [root@localhost ~]# hpssacli ctrl slot=0 array b modify ssdsmartpath=enable

工具4: arcconf

a. 确认软件包是否安装

    [root@localhost ~]# rpm -qa | grep Arcconf

    Arcconf-2.04-22665.x86_64

    备注:若检索结果为空,需要安装对应的软件安装包。安装命令如下:

    #rpm -ivh Arcconf-xx-xx.x86_64.rpm

b. 确认硬盘控制器信息

    说明:控制器编号从1开始,所以示例中控制器ID为1: 

  [root@localhost ~]# /usr/Arcconf/arcconf list

    Controllers found: 1

    ----------------------------------------------------------------------

    Controller information

    ----------------------------------------------------------------------

    Controller ID : Status, Slot, Mode, Name, SerialNumber, WWN

    ----------------------------------------------------------------------

  Controller 1: : Optimal, Slot 2147483647, RAID (Expose RAW), , FB488000, 560DA833FB488000

c. 查看逻辑卷读/写缓存状态

    备注:

    1. 请关注标红部分示例为:参数说明如下:

        Read-cache setting : Enabled(读缓存打开)

        Write-cache setting : Enabled(写缓存打开)

    2. 示例命令行参数说明(/usr/Arcconf/arcconf getconfig 1 ld 1)

        getconfig: prints controller information(打印控制器相关信息)

        第一个1:控制器编号

        ld:logical drive(逻辑卷,即磁盘阵列)

        第二个1:逻辑卷编号,从0开始,示例是第二个逻辑卷,所以为1.

        [root@localhost ~]# /usr/Arcconf/arcconf getconfig 1 ld 1

        Controllers found: 1

        ----------------------------------------------------------------------

        Logical device information

        ----------------------------------------------------------------------

        Logical Device number 1

        Logical Device name : data

        Block Size of member drives : 512 Bytes

        RAID level : 10

        Unique Identifier : 6CDE0BB1

        Status of Logical Device : Optimal

        Additional details : Quick initialized

        Size : 1014 MB

        Parity space : 1024 MB

        Stripe-unit size : 256 KB

        Interface Type : Serial ATA

        Device Type : HDD

        Read-cache setting : Enabled

        Read-cache status : On

        Write-cache setting : Enabled

        Write-cache status : On

        Partitioned : No

        Protected by Hot-Spare : No

        Bootable : No

        Failed stripes : No

        Power settings : Disabled

        --------------------------------------------------------

        Logical Device segment information

        --------------------------------------------------------

        Group 0, Segment 0 : Present (3815447MB, SATA, HDD, Enclosure:0, Slot:2) K4KZMMKL

        Group 0, Segment 1 : Present (3815447MB, SATA, HDD, Enclosure:0, Slot:3) K7G2L3SL

        Group 1, Segment 0 : Present (3815447MB, SATA, HDD, Enclosure:0, Slot:4) K4KYTSLL

        Group 1, Segment 1 : Present (3815447MB, SATA, HDD, Enclosure:0, Slot:5) K7G183TL

d. 读/写缓存设置语法

    语法如下:

    Usage: SETCACHE <Controller#> LOGICALDRIVE <LogicalDrive#> <logical mode> [noprompt] [nologs]

    Usage: SETCACHE <Controller#> DEVICE <Channel# ID#> <physical mode> [nologs]

    Usage: SETCACHE <Controller#> DEVICEALL <policy> [noprompt] [nologs]

    Example: SETCACHE 1 LOGICALDRIVE 0 ron

    Example: SETCACHE 1 DEVICE 0 0 wt

    Example: SETCACHE 1 DEVICEALL drivespecific

    ===================================================================================

    Changes a device's cache mode.

    LOGICALDRIVE parameters

    LogicalDrive# : Number of the logical device whose cache will be altered

    Logical Modes : ron - read cache enabled

    roff - read cache disabled

    wt - write through

    wb - write back

    wbb - write back with battery/ZMM

    con - cache enabled

    coff - cache disabled

    DEVICE parameters

    Channel# ID# : Channel and ID of the device whose cache will be altered

    Physical Modes : wt - write through

    wb - write back

    DEVICEALL parameters

    Policy : disable - write back for all physical drives

    enable - write through for all physical drives

    drivespecific - user can set for an individual physical drive

    部分参数说明:

    rron: read cache enabled(打开读缓存)

    roff: read cache disabled(关闭读缓存)

    wt: write through(只写模式,即关闭写缓存)

    wb:write back(回写模式,即打开写缓存)

    con: cache enabled(打开逻辑卷缓存(打开读/写缓存前提是逻辑卷缓存已打开,在逻辑卷关闭的情况下,无法打开读/写缓存))

    coff: cache disabled(关闭逻辑卷缓存)

    noprompt:no prompt(没有提示,按照默认y执行,部分命令需要和用户交互,使用noprompt参数可按照默认yes答复执行)

e. 读缓存打开/关闭示例

    [root@localhost ~]# /usr/Arcconf/arcconf setcache 1 logicaldrive 1 roff

    Controllers found: 1

    Command completed successfully.

    [root@localhost ~]# /usr/Arcconf/arcconf setcache 1 logicaldrive 1 ron

    Controllers found: 1

    Command completed successfully.

f. 写缓存打开/关闭示例

   [root@localhost ~]# /usr/Arcconf/arcconf setcache 1 logicaldrive 1 wt

   Controllers found: 1

   Command completed successfully.

   You have new mail in /var/spool/mail/root

   [root@localhost ~]# /usr/Arcconf/arcconf setcache 1 logicaldrive 1 wb

   Controllers found: 1

   WARNING: Power failure without battery/ZMM support will lead to data loss.

   Do you wish to continue?

   Press y, then ENTER to continue or press ENTER to abort: y

   Command completed successfully.

   [root@localhost ~]# /usr/Arcconf/arcconf setcache 1 logicaldrive 1 wbb

    Controllers found: 1

    Command completed successfully 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/75367.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java项目分享-分布式电商项目附软件链接

今天来分享一下github上最热门的开源电商项目安装部署&#xff0c;star 12.2k&#xff0c;自行安装部署历时两天&#xff0c;看了这篇文章快的话半天搞定&#xff01;该踩的坑都踩完了&#xff0c;软件也打包好了就差喂嘴里。 项目简介 mall-swarm是一套微服务商城系统&#xf…

QtWebApp使用

QtWebApp 是一个轻量级的 HTTP 服务器库,基于 Qt 网络模块(QTcpServer 和 QTcpSocket)实现,适用于嵌入式设备、本地服务或需要快速搭建 Web 接口的 Qt 应用程序。 1. 核心功能 HTTP/1.1 服务器 支持 GET、POST、PUT、DELETE 等标准 HTTP 方法。 解析请求头、查询参数(Qu…

用Rust和WebAssembly打造轻量级前端加密工具

开头聊两句 最近在折腾前端项目时&#xff0c;发现一个问题&#xff1a;很多时候需要在浏览器里做点加密作&#xff0c;比如保护用户输入的数据&#xff0c;但JavaScript跑起来总感觉慢吞吞的。于是我开始琢磨&#xff0c;能不能用Rust写个高性能的加密模块&#xff0c;再通过W…

Linux NUC小主机化身视频会议服务器: 技术优势与部署实战

在远程办公常态化背景下&#xff0c;视频会议系统对硬件的轻量化、低功耗与稳定性提出了更高要求。基于Intel NUC&#xff08;Next Unit of Computing&#xff09;打造的Linux服务器方案&#xff0c;凭借其高性能、低能耗和可扩展性优势&#xff0c;正成为中小企业搭建视频会议…

idea查看class字节码

概述 如何查看class字节码&#xff1f;话不多说&#xff0c;直接看示例&#xff01; 方法一 选中class类&#xff0c;然后选择 View -> Show Bytecode 方法二 安装jclasslib插件 方法三 Settings -> Tools -> External Tools 添加一个tool //指定javap.exe路…

python使用cookie、session、selenium实现网站登录(爬取信息)

一、使用cookie 这段代码演示了如何使用Python的urllib和http.cookiejar模块来实现网站的模拟登录&#xff0c;并在登录后访问需要认证的页面。 # 导入必要的库 import requests from urllib import request, parse# 1. 导入http.cookiejar模块中的CookieJar类&#xff0c;用…

机器人基础知识-1

1.六轴机器人中的六轴是什么&#xff1f; 第一轴&#xff08;J1&#xff09;&#xff1a;底座旋转 控制机器人整体绕垂直轴旋转&#xff08;左右摆动&#xff09;&#xff0c;决定工作范围的水平方向。 第二轴&#xff08;J2&#xff09;&#xff1a;下臂前后摆动 驱动机器人的…

将代理连接到 Elasticsearch 使用模型上下文协议

作者&#xff1a;来自 Elastic Jedr Blaszyk 及 Joe McElroy 让我们使用 Model Context Protocol 服务器 与 你的 数据 在 Elasticsearch 中聊天。 如果与你的数据交互像与同事聊天一样轻松&#xff0c;会怎样&#xff1f;想象一下&#xff0c;你只需简单地问&#xff1a;“显…

Vue 组件 - 动态组件

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue 组件 - 动态组件 目录 动态组件 选项卡页面示例 更简单写法 增加输入框 弥补措施 总结 动态组件 选项卡页面示例 功能&#xff1a;选项卡功能&#xff0c;设置导航点击哪个显示相应页面。 设置三个全局组件&#…

Telnet协议详解:本质与操作逻辑

一、Telnet的本质 1. 协议定位 Telnet是一种基于TCP的明文远程终端控制协议&#xff0c;属于应用层协议。其核心功能是通过网络模拟物理终端&#xff0c;实现对远程主机的命令行控制。 2. 核心特性 网络虚拟终端&#xff08;NVT&#xff09;&#xff1a;建立统一的字符编码标…

Android 使用CameraX实现预览、拍照、录制视频(Java版)

Android 官方关于相机的介绍如下&#xff1a; https://developer.android.google.cn/media/camera/get-started-with-camera?hlzh_cn 一、开始使用 Android 相机 Android相机一般包含前置摄像头和后置摄像头&#xff0c;使用相机可以开发一系列激动人心的应用&#xff0c;例…

面向对象

一、Scala包 1、基本语法 package 包名 2、Scala 包的三大作用&#xff08;和 Java 一样&#xff09; &#xff08;1&#xff09;区分相同名字的类 &#xff08;2&#xff09;当类很多时&#xff0c;可以很好的管理类 &#xff08;3&#xff09;控制访问范围 二、包说明 1、说明…

MySQL多表联查

一、数据库表结构 假设我们有两个表&#xff1a;users 和 orders&#xff0c;users 表存储用户信息&#xff0c;orders 表存储订单信息&#xff0c;一个用户可以有多个订单&#xff0c;通过 user_id 关联两个表。 users 表 字段名数据类型描述user_idINT用户 ID&#xff0c;…

如何迁移AxureCloud到新服务器?

前言 常有朋友遇到在更换服务器时或者本地AxureCloud迁移到服务器上时&#xff0c;如何正确迁移AxureCloud&#xff0c;让原有的原型可以正常访问呢&#xff1f; 事前准备 Navicat&#xff1a;用于迁移数据库。 AxureCloud&#xff1a;和原安装版本一致。 MySQL&#xff1…

CSGO 皮肤交易平台后端 (Spring Boot) 代码结构与示例

csgo-market/ ├── pom.xml (or build.gradle) └── src/└── main/├── java/│ └── com/│ └── yourcompany/│ └── csgomarket/│ ├── CsgomarketApplication.java # Spring Boot 启动类│ ├── conf…

mac Python多版本第三方库的安装路径

终端查看python版本是 3.12&#xff0c;但是pycharm使用的python版本是 3.9 终端正常安装包以后&#xff0c;pycharm都可以正常使用&#xff0c;但是将 pycharm的python换成 3.12 版本&#xff0c;之前安装的库都没有了 通过终端查看安装库的位置&#xff0c;确实是安装到py…

Java常用异步方式总结

使用建议 完整代码见https://gitee.com/pinetree-cpu/parent-demon 提供了postMan调试json文件于security-demo/src/main/resources/test_file/java-async.postman_collection.json 可导入postMan中进行调试 Java异步方式以及使用场景 继承Thread类 新建三个类继承Thread&…

【VUE3】Pinia

目录 0前言 1 手动添加Pinia 2 创建与使用仓库&#xff08;Setup Store 组合式&#xff09; 2.1 创建仓库 2.2 使用仓库数据 2.3 解构响应式数据 3 持久化插件 0前言 官网&#xff1a;Pinia | The intuitive store for Vue.js 1 手动添加Pinia 上手之后&#xff0c;可…

JVM 每个区域分别存储什么数据?

JVM&#xff08;Java Virtual Machine&#xff09;的运行时数据区&#xff08;Runtime Data Areas&#xff09;被划分为几个不同的区域&#xff0c;每个区域都有其特定的用途和存储的数据类型。以下是 JVM 各个区域存储数据的详细说明&#xff1a; 1. 程序计数器 (Program Cou…

C++中shared_ptr 是线程安全的吗?

在 C 中&#xff0c;shared_ptr 的线程安全性和实现原理可以通过以下方式通俗理解&#xff1a; 1. shared_ptr 是线程安全的吗&#xff1f; 答案&#xff1a;部分安全&#xff0c;需分场景&#xff01; 安全的操作&#xff1a; 引用计数的增减&#xff1a;多个线程同时复制或销…