【MySQL】第10節|MySQL全局優化與Mysql 8.0新增特性詳解

全局優化

mysql server參數

1. max_connections(最大連接數)

  • 含義:MySQL 服務允許的最大并發連接數(包括正在使用和空閑的連接)。超過此限制時,新連接會被拒絕(報錯?Too many connections)。
  • 默認值:151(MySQL 8.0 及以下);MySQL 8.0.23+ 調整為?151 + (max_connections / 50)(但實際仍以配置為準)。
  • 優化建議
    • 取值需結合服務器內存與 CPU 資源(每個連接默認占用約 200KB 內存)。
    • 公式參考:max_connections = 可用內存(GB)* 1000 / 0.2(單連接內存估算)(例如 16GB 內存服務器,建議設為 800-1000)。
    • 上限不超過操作系統?ulimit -n(文件描述符)的 80%(避免與其他進程沖突)。

2. max_user_connections(單用戶最大連接數)

  • 含義:限制單個 MySQL 用戶(如?root@localhost)能同時建立的連接數(防止單個用戶占滿連接池)。
  • 默認值:0(表示不限制)。
  • 優化建議
    • 設為?max_connections * 20%~30%(例如?max_connections=1000,則?max_user_connections=200~300)。
    • 業務中若存在多應用共享同一賬號,需適當調大(如 500);若賬號隔離嚴格,可設為更小值(如 100)。

3. back_log(半連接隊列長度)

  • 含義:MySQL 接受新連接時,未完成三次握手的半連接隊列的最大長度(即等待被 MySQL 處理的連接數)。若隊列滿,新連接會被操作系統拒絕(報?connection refused)。
  • 默認值:80(MySQL 5.7 及以下);MySQL 8.0+ 調整為?min(511, max_connections)
  • 優化建議
    • 高并發場景(如 QPS > 1000)建議調大至?max_connections * 50%(例如?max_connections=1000,則?back_log=500)。
    • 上限不超過?max_connections(避免無效隊列)。

4. wait_timeout(非交互連接超時)

  • 含義非交互式連接(如通過腳本/程序建立的連接)在空閑狀態下的超時時間(秒),超時后連接會被自動關閉。
  • 默認值:28800(8 小時)。
  • 優化建議
    • 過長會導致空閑連接堆積,浪費資源;過短可能增加連接重建開銷。
    • 業務場景若短連接多(如 Web 應用),建議設為 360014400(14 小時);若長連接多(如批量任務),可適當延長(如 28800)。

5. interactive_timeout(交互連接超時)

  • 含義交互式連接(如通過?mysql -u root -p?命令行工具建立的連接)在空閑狀態下的超時時間(秒)。
  • 默認值:與?wait_timeout?相同(28800)。
  • 優化建議
    • 通常與?wait_timeout?保持一致(避免連接行為不一致)。
    • 若需區分交互式與非交互式場景(如 DBA 操作),可單獨調大(如 43200)。

6. sort_buffer_size(排序緩沖區大小)

  • 含義:MySQL 執行?ORDER BYGROUP BY?等排序操作時,單個線程使用的內存緩沖區大小(若緩沖區不足,會使用磁盤臨時表排序)。
  • 默認值:256KB(MySQL 5.7 及以下);MySQL 8.0+ 調整為 32KB(更保守)。
  • 優化建議
    • 過小會導致頻繁磁盤排序(慢),過大浪費內存(每個排序線程獨立分配)。
    • 通用場景:1~4MB;大表排序(如 100W+ 行)可設為 8MB(不超過 16MB)。

7. join_buffer_size(JOIN 緩沖區大小)

  • 含義:MySQL 執行?JOIN?操作時,單個線程用于存儲未索引表數據的內存緩沖區大小(若緩沖區不足,會分塊讀取表數據)。
  • 默認值:256KB(MySQL 5.7 及以下);MySQL 8.0+ 調整為 256KB(未變)。
  • 優化建議
    • 僅對?JOIN?中未使用索引的表有效(若有索引,此參數不生效)。
    • 小表 JOIN(行數 < 1W):12MB;大表 JOIN(行數 10W100W):4~8MB(不超過 16MB)。

總結:優化原則

  • 連接類參數(前 5 個)需平衡并發能力與資源消耗,避免連接數過高導致內存溢出或 CPU 上下文切換開銷過大。
  • 內存類參數(后 2 個)需結合具體查詢場景,優先通過索引優化減少對緩沖區的依賴(如?ORDER BY?加索引、JOIN?字段加索引),再調整緩沖區大小。
  • 驗證方法:通過?SHOW GLOBAL STATUS?查看?Threads_connected(當前連接數)、Sort_merge_passes(磁盤排序次數)、Created_tmp_tables(臨時表數量)等指標,動態調整參數。

innodb參數

以下是 InnoDB 核心參數的含義、作用及推薦配置(結合 OLTP 與 OLAP 場景差異,實際需根據業務負載調整):

1. innodb_thread_concurrency(線程并發數限制)

  • 含義:控制 InnoDB 存儲引擎同時處理的線程數上限(包括用戶查詢線程、后臺 IO 線程等)。超過此限制時,新線程會進入等待隊列,避免 CPU 因線程過多導致上下文切換開銷激增。
  • 默認值:0(表示不限制,由 InnoDB 自動調整)。
  • 作用
    • 防止高并發場景下線程數超過 CPU 核心數,導致資源爭用(如鎖競爭、緩存失效)。
    • 優化 CPU 利用率,避免“線程饑餓”(部分線程因資源不足無法執行)。
  • 推薦值
    • 通用場景:設為?CPU 核心數 × 2(例如 8 核 CPU 設為 16)。
    • OLTP 高并發:若 CPU 利用率長期 >80%,可適當調小(如?CPU 核心數 × 1.5);若 CPU 空閑,可適當調大(不超過?CPU 核心數 × 3)。
    • OLAP 大查詢:因單查詢占用資源多,建議設為?CPU 核心數 × 1(避免多查詢搶占資源)。

2. innodb_buffer_pool_size(緩沖池大小)

  • 含義:InnoDB 用于緩存數據頁、索引頁、鎖信息的內存區域大小。緩沖池是 InnoDB 性能的核心,直接決定了“內存中讀取數據”的比例(減少磁盤 IO)。
  • 默認值:MySQL 5.7 及以下默認 128MB;MySQL 8.0+ 默認動態調整(但建議手動配置)。
  • 作用
    • 提升讀性能:命中緩沖池的查詢無需訪問磁盤。
    • 優化寫性能:修改操作先寫入緩沖池(臟頁),再異步刷新到磁盤(通過?innodb_flush_method?控制)。
  • 推薦值
    • 物理內存分配:建議分配?服務器總內存的 50%~70%(需預留 20%~30% 給操作系統、其他進程及 MySQL 其他組件)。
    • 示例
      • 16GB 內存服務器:設為 8~12GB(SET GLOBAL innodb_buffer_pool_size=10737418240?表示 10GB)。
      • 64GB 內存服務器:設為 32~48GB。
    • 注意:緩沖池過大可能導致系統內存不足(如 OOM 殺進程),需結合?free -h?監控剩余內存。

3. innodb_lock_wait_timeout(鎖等待超時時間)

  • 含義:事務因等待行鎖(如?SELECT ... FOR UPDATE?或?UPDATE?沖突)而阻塞的最大等待時間(單位:秒)。超時后事務會自動回滾并報錯(Lock wait timeout exceeded)。
  • 默認值:50 秒。
  • 作用
    • 避免長事務因鎖等待導致阻塞鏈過長(如 A 鎖行 → B 等待 A → C 等待 B,最終拖慢整個系統)。
    • 保護業務連續性:快速終止無法繼續的事務,避免資源長期被占用。
  • 推薦值
    • OLTP 在線交易(如電商下單):設為 5~10 秒(業務容忍短時間重試)。
    • OLAP 批量任務(如數據統計):設為 60~120 秒(允許較長時間處理大表)。
    • 強一致性場景(如金融轉賬):可適當調小(3~5 秒),強制暴露鎖沖突問題(避免隱藏的慢查詢)。

4. innodb_flush_log_at_trx_commit(日志刷盤策略)

  • 含義:控制事務提交時,InnoDB 如何將?redo log?從內存寫入磁盤(直接影響事務的持久性和性能)。
  • 可選值
    • 0:每秒將?redo log?緩沖區寫入磁盤并刷新(不保證事務提交時刷盤)。
    • 1(默認):事務提交時立即將?redo log?寫入磁盤并刷新(強持久化)。
    • 2:事務提交時將?redo log?寫入磁盤(但不立即刷新,由操作系統異步刷新)。
  • 作用
    • 持久性1?是最安全的策略(崩潰不丟數據);0?和?2?可能丟失 1 秒內的事務。
    • 性能0?和?2?減少磁盤 IO 次數(提升寫性能),但犧牲部分持久性。
  • 推薦值
    • 金融/支付等高一致性場景:必須用?1(確保事務提交后數據不丟失)。
    • 日志/監控等允許少量數據丟失的場景:用?2(寫性能提升 20%~50%,但需接受機器宕機可能丟失 1 秒數據)。
    • 測試/開發環境:可用?0(進一步提升性能,適合非關鍵數據)。

總結:配置原則

  • innodb_buffer_pool_size?是性能優化的核心,優先調大(但不超過內存 70%)。
  • innodb_thread_concurrency?需結合 CPU 核心數和負載動態調整,避免線程過多導致資源競爭。
  • innodb_lock_wait_timeout?需根據業務容忍度平衡“快速回滾”與“避免重試”。
  • innodb_flush_log_at_trx_commit?需在“性能”與“持久性”間權衡(生產環境強一致性場景必選?1)。

驗證方法:通過?SHOW ENGINE INNODB STATUS?查看緩沖池命中率(Buffer pool hit rate?應 >99%)、鎖等待次數(Lock waits?應接近 0),結合?iostat?監控磁盤 IO 壓力,動態調整參數。

binlog參數

sync_binlog?是 MySQL 中控制二進制日志(binlog)寫入磁盤頻率的核心參數,直接影響數據一致性、主從復制可靠性和系統性能。以下從作用、取值含義、影響及推薦配置詳細說明:

1. 參數含義

sync_binlog?定義了 MySQL 在提交事務時,將 binlog 從內存緩沖區強制刷新到磁盤的頻率(即調用?fsync()?系統調用的時機)。其本質是平衡數據安全性寫性能的關鍵配置。

2. 取值與行為

sync_binlog?支持三種取值(N ≥ 0),不同值的行為差異如下:

取值

行為說明

數據安全風險

sync_binlog=0

MySQL 不主動控制 binlog 刷盤,由操作系統決定(通常每 30 秒~數分鐘刷盤一次)。

若 MySQL 或服務器崩潰,可能丟失所有未刷盤的 binlog 記錄(可能影響主從復制和 PITR 恢復)。

sync_binlog=1

每次事務提交時,強制將 binlog 緩沖區內容寫入磁盤(fsync())。

最安全模式,崩潰時最多丟失當前未提交的事務(符合 ACID 持久性)。

sync_binlog=N(N>1)

每提交?N?次事務后,統一將 binlog 緩沖區內容寫入磁盤。

若崩潰,可能丟失最近?N?次事務的 binlog 記錄(風險隨?N?增大而增加)。

3. 核心影響

(1)數據一致性與主從復制
  • 主從復制:從庫通過主庫的 binlog 同步數據。若?sync_binlog=N(N>1),主庫崩潰時可能丟失部分 binlog,導致從庫數據不一致。
  • PITR 恢復:基于 binlog 的時間點恢復(Point-in-Time Recovery)依賴完整的 binlog 記錄。sync_binlog=0?或?N>1?可能導致恢復時丟失部分操作。
(2)性能與磁盤 IO
  • sync_binlog=1?每次提交都觸發磁盤寫,會增加磁盤 IO 壓力(尤其在高并發寫入場景),可能降低 TPS(事務吞吐量)。
  • sync_binlog=N(N>1)通過批量刷盤減少 IO 次數,提升寫性能(例如?N=100?可降低 99% 的?fsync()?調用)。

4. 推薦配置

配置?sync_binlog?需結合業務對數據一致性性能的需求:

場景

推薦值

說明

金融/支付等高一致性場景

1

必須保證 binlog 完整(如轉賬、訂單),避免主從數據不一致或恢復時數據丟失。

日志/監控等允許少量丟失場景

100~1000

業務可容忍幾秒內的數據丟失(如用戶行為日志),通過調大?N?減少磁盤 IO,提升寫入性能。

測試/開發環境

0?或?1000

非關鍵數據場景,優先性能;0?由操作系統自動刷盤(需注意崩潰時可能丟失大量 binlog)。

MySQL 8.0+ 生產環境

默認?1

MySQL 8.0 起默認值調整為?1,強調數據安全;若需優化性能,可結合?innodb_flush_log_at_trx_commit=2平衡(但需評估風險)。

5. 注意事項

  • 與?innodb_flush_log_at_trx_commit?的聯動

innodb_flush_log_at_trx_commit?控制 redo log 的刷盤策略(影響 InnoDB 數據持久性),而?sync_binlog?控制 binlog 的刷盤策略(影響主從復制和恢復)。兩者需配合使用:

    • 若?innodb_flush_log_at_trx_commit=1(InnoDB 事務提交時 redo log 必刷盤),但?sync_binlog=0,仍可能因 binlog 丟失導致主從數據不一致。
    • 強一致性場景需同時設置?innodb_flush_log_at_trx_commit=1?和?sync_binlog=1
  • 磁盤性能依賴

sync_binlog=1?對磁盤寫入延遲敏感(尤其是機械硬盤)。若磁盤 IO 性能差(如?fsync()?耗時高),建議使用 SSD 或調整?N?值(如?N=100)。

  • 監控指標

通過?SHOW GLOBAL STATUS LIKE 'Binlog_cache_disk_use'?觀察 binlog 緩存是否頻繁落盤(值高可能需調大?binlog_cache_size);通過?iostat?監控磁盤?%util(IO 利用率),評估?sync_binlog?對磁盤的壓力。

總結

sync_binlog?是平衡數據安全與性能的關鍵參數:

  • 強一致性場景(如金融交易)必須設為?1
  • 性能敏感且允許少量數據丟失的場景(如日志采集)可設為?100~1000
  • 需結合?innodb_flush_log_at_trx_commit?等參數,共同保障事務的持久性和主從復制的可靠性。

Mysql 8.0新特性詳解

MySQL 8.0 是一個重大版本升級,帶來了許多性能優化、新功能和安全性增強。以下是其最具特色的亮點功能詳解:

1. 窗口函數(Window Functions)

  • 功能:支持標準 SQL 的窗口函數(如?ROW_NUMBER()RANK()DENSE_RANK()SUM() OVER()等),用于在查詢結果的分組內進行排序、計算排名或聚合統計。
  • 場景:報表統計、排名分析、滾動計算(如近 7 天銷售額)等,簡化復雜子查詢邏輯。
  • 示例
SELECT order_date, amount,ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY order_date DESC) AS rn
FROM orders;

2. CTE 公用表表達式(Common Table Expressions)

  • 功能:支持遞歸和非遞歸的 CTE(WITH?語句),定義臨時結果集供后續查詢復用,提升查詢可讀性。
  • 場景:層級數據查詢(如部門架構、目錄樹)、遞歸統計(如累計值計算)。
  • 示例(遞歸 CTE)
WITH RECURSIVE emp_hierarchy AS (SELECT id, manager_id, name FROM employees WHERE id = 1  -- 根節點UNION ALLSELECT e.id, e.manager_id, e.name FROM employees eJOIN emp_hierarchy eh ON e.manager_id = eh.id
)
SELECT * FROM emp_hierarchy;

3. JSON 增強(JSON_TABLE 等)

  • 功能
    • JSON_TABLE:將 JSON 數據轉換為關系型表結構,支持行列展開(類似?LATERAL VIEW)。
    • 新增?JSON_ARRAYAGG()JSON_OBJECTAGG()?等聚合函數,優化 JSON 數據的查詢和分析。
  • 場景:半結構化數據存儲(如日志、用戶自定義字段),簡化 JSON 與 SQL 的交互。
  • 示例
SELECT *
FROM JSON_TABLE('[{"name":"Alice","age":30},{"name":"Bob","age":25}]','$[*]' COLUMNS(name VARCHAR(50) PATH '$.name',age INT PATH '$.age')
) AS jt;

4. 隱藏索引(Invisible Indexes)

  • 功能:允許將索引標記為?INVISIBLE,使其在查詢優化時被忽略,但仍可用于 DDL 操作(如?RENAMEDROP)。
  • 場景:測試新索引對性能的影響,無需刪除原有索引,降低變更風險。
  • 用法
ALTER TABLE users ALTER INDEX idx_email INVISIBLE;  -- 隱藏索引
ALTER TABLE users ALTER INDEX idx_email VISIBLE;    -- 恢復可見

5. 降序索引(Descending Indexes)

  • 功能:支持直接創建降序索引(DESC),優化?ORDER BY ... DESC?查詢,避免額外排序操作。
  • 對比:MySQL 5.7 及之前版本需通過升序索引實現降序排序,8.0 原生支持更高效。
  • 示例
CREATE INDEX idx_desc ON orders (price DESC, order_date DESC);

6. 默認字符集改為 utf8mb4

  • 變更:MySQL 8.0 默認為?utf8mb4?字符集(支持 emoji、復雜文字),校對規則為?utf8mb4_0900_ai_ci(更高效的排序規則)。
  • 影響:新建表自動使用?utf8mb4,避免歷史版本中?utf8(僅 3 字節)導致的 emoji 存儲問題。

7. 原子 DDL(Atomic DDL)

  • 功能:表結構變更(DDL)操作支持原子性,失敗時自動回滾,避免因崩潰導致的表元數據損壞(如?.frm?文件殘留)。
  • 實現:通過?InnoDB?事務機制保障 DDL 原子性,減少運維風險。

8. 性能優化:自增主鍵與鎖

  • 自增主鍵優化:引入?ALGORITHM=INSTANT(瞬間操作),支持無鎖修改自增主鍵值,提升在線變更效率。
  • 鎖優化:減少?INSERT?語句的鎖競爭(如?AUTO-INC Lock?優化),高并發插入場景性能提升顯著。

9. 安全增強:默認身份驗證插件

  • 變更:默認身份驗證插件從?mysql_native_password?改為?caching_sha2_password,提供更強的密碼加密和緩存機制。
  • 注意:需確保客戶端(如 MySQL Connector/J 8.0+)支持?caching_sha2_password,否則需手動切換為舊插件。

10. 角色管理(Role-Based Access Control)

  • 功能:支持創建角色(CREATE ROLE)并分配權限,再將角色授予用戶,簡化權限管理(如批量授權、權限回收)。
  • 示例
CREATE ROLE 'report_role';
GRANT SELECT ON sales.* TO 'report_role';
GRANT 'report_role' TO 'user1'@'localhost';

總結:升級價值

MySQL 8.0 的核心提升體現在:

  • 開發體驗:窗口函數、CTE、JSON 增強降低復雜查詢開發成本;
  • 性能與穩定性:原子 DDL、索引優化、鎖機制提升系統可靠性;
  • 安全性:默認加密插件、角色管理強化權限體系;
  • 兼容性:utf8mb4 默認化解決字符集歷史問題。

建議根據業務場景評估升級,尤其是涉及數據分析、JSON 數據或高并發寫入的場景,新特性可顯著提升開發效率和系統性能。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/82846.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/82846.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/82846.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VS Code 插件 Git History Diff

插件名 進命令行&#xff0c;進Git自己那個分支 查看分支 提交到Git的后想再把另一個也提交到那個分支&#xff0c;用這個命令

Shell腳本中的常用命令

一.設置主機名稱 文件設置 文件開機時已讀取所以要重新進入 命令更改&#xff08;即使生效&#xff09; 二.網絡管理命令 1.查看網卡命令 設置網卡 1&#xff09;DHCP工作模式 2)靜態IP 3&#xff09;修改網卡信息 三.簡單處理字符 1.打印連續數字 連續打印3個數字 指定打…

C++ 中 std::wstring::c_str() 的潛在風險與安全使用指南

一、問題背景 在開發過程中&#xff0c;我們經常會遇到不同接口之間的數據傳遞問題。例如&#xff0c;當調用某個接口時&#xff0c;需要傳入一個字符串指針作為數據接收的緩沖區&#xff0c;但外圍接口使用的是 std::wstring 類型。此時&#xff0c;如果直接將 std::wstring:…

‘js@https://registry.npmmirror.com/JS/-/JS-0.1.0.tgz‘ is not in this registry

解決方法&#xff1a; 1. npm cache clean --force 2.臨時切換到官方源 npm config set registry https://registry.npmjs.org/ npm install js0.1.0 npm config set registry https://registry.npmmirror.com/ # 切換回鏡像源

ubuntu24 安裝MongoDB-6.0.24 數據庫操作步驟和配置參數說明

目錄 1 下載MongoDB軟件 2 操作系統信息 3 MongoDB 軟件安裝步驟 4 編寫mongodb的配置文件 5 生成keyfile 6 使用mongo用戶啟動mongodb服務 7 設置開機啟動(mongo用戶) 8 安裝MongoDB shell&#xff0c;因為MongoDB-6.0.24 已經移除mongo命令 1 下載MongoDB軟件 https:…

單片機——keil5

文章目錄 安裝教程使用介紹案例展示 接下來進行keil5軟件的相關學習使用 安裝教程 參考視頻鏈接bilibili 51單片機 大約在8分鐘位置處 使用介紹 首先新建project選擇對應的芯片型號&#xff08;例如&#xff1a;STC89C52 —— 由于STC系列是國產&#xff0c;keil5軟件不支持…

計算機網絡相關發展以及常見性能指標

目錄 一、因特網概述 1.1 基本概念 1.2 因特網發展的三個階段 1.3 英特網服務提供者ISP 1.4 英特網的標準化工作 1.5 因特網的組成 1.6 簡單總結 二、3種交換方式 2.1 電路交換&#xff08;Circuit Switching&#xff09; 2.2 分組交換&#xff08;Packet Switching&…

Java 面試實錄:從Spring到微服務的技術探討

在一個明亮的會議室里&#xff0c;嚴肅的面試官與搞笑的程序員謝飛機正進行一場關于Java技術棧的面試。場景設定在一家知名互聯網大廠&#xff0c;他們的對話充滿了技術性與娛樂性。 第一輪&#xff1a;Spring框架與數據庫 面試官&#xff1a;“謝飛機&#xff0c;能解釋一下…

OpenCV CUDA模塊圖像過濾------創建一個 Scharr 濾波器函數createScharrFilter()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 該函數用于創建一個 Scharr 濾波器&#xff08;基于 CUDA 加速&#xff09;&#xff0c;用于圖像的一階導數計算。它常用于邊緣檢測任務中&#…

yolov8分割任務的推理和后處理解析

文章目錄 一、前言二、分割模型的前向推理1. 檢測結果&#xff1a;來自Detect類的輸出2. 分割結果&#xff08;最終&#xff09;3. 與Detect的主要區別4. 工作流程 三、后處理1. 非極大值抑制&#xff08;NMS&#xff09;過濾檢測框2. 分割原型&#xff08;Mask Prototypes&…

4.1.1 Spark SQL概述

Spark SQL是Apache Spark的一個模塊&#xff0c;專門用于處理結構化數據。它引入了DataFrame這一編程抽象&#xff0c;DataFrame是帶有Schema信息的分布式數據集合&#xff0c;類似于關系型數據庫中的表。用戶可以通過SQL、DataFrames API和Datasets API三種方式操作結構化數據…

華為OD機試真題——書籍疊放(2025A卷:200分)Java/python/JavaScript/C/C++/GO最佳實現

2025 A卷 200分 題型 本專欄內全部題目均提供Java、python、JavaScript、C、C++、GO六種語言的最佳實現方式; 并且每種語言均涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、3個測試用例以及綜合分析; 本文收錄于專欄:《2025華為OD真題目錄+全流程解析+備考攻略+經驗分…

尚硅谷redis7 63-69 redis哨兵監控之理論簡介

63 redis哨兵監控之理論簡介 什么是哨兵 master掛了如何辦?從機原地待命。此時數據只能讀取不能更新。因此需要&#xff1a; 吹哨人巡查監控后臺master主機是否故障,如果故障了根據投票數自動將某一個從庫轉換為新主庫, 哨兵的作用 1、監控redis運行狀態,包括master和slave…

word文檔格式規范(論文格式規范、word格式、論文格式、文章格式、格式prompt)

文章目錄 prompt prompt [格式要求] - 字體&#xff1a;中文宋體小四&#xff1b;英文Times New Roman 12pt&#xff1b;標題黑體 - 行距&#xff1a;1.5倍&#xff08;段前段后0行&#xff09; - 邊距&#xff1a;A4默認&#xff08;上下2.54cm&#xff0c;左右3.17cm&…

SpringBoot+tabula+pdfbox解析pdf中的段落和表格數據

一、前言 在日常業務需求中&#xff0c;往往會遇到解析pdf文件中的段落或者表格數據的需求。 常見的做法是使用 pdfbox 來做&#xff0c;但是它只能提取文本數據&#xff0c;沒有我們在文件頁面上面的那種結構化組織&#xff0c;文本通常是散亂的包含各種換行回車空格等格式&a…

【Elasticsearch】stored_fields

在 Elasticsearch 中&#xff0c;stored_fields 是一個非常重要的概念&#xff0c;主要用于控制文檔存儲和檢索時的行為。以下是對 stored_fields 的詳細解釋&#xff1a; 1\. stored_fields 的作用 stored_fields 用于指定在檢索文檔時需要返回的字段。默認情況下&#xff0c;…

計算機網絡 | 1.1 計算機網絡概述思維導圖

附大綱&#xff1a; 計算機網絡的概念 一個通過通信設備與線路把不同計算機系統連接起來&#xff0c;實現資源共享和信息傳遞的系統 計算機網絡的組成 從組成成分上 硬件&#xff1a;主機、通信鏈路、交換設備、通信處理機軟件&#xff1a;網絡操作系統、聊天軟件等協議&…

HOW - 簡歷和求職面試寶典(三)

文章目錄 1. 面試邀約2. 開始面試和自我介紹第一、面試前的準備工作第二、如何全面地介紹自己1. 面試邀約 第一、先認識日常HR 的工作流程 首先,電話溝通是 HR 核心工作內容的一部分。電話溝通分為兩種:一種是電話預約;另外一種是電話確認。 電話預約很清晰,就是確認面試…

Java基礎 Day24

一、進程和線程 1、進程 &#xff08;1&#xff09;概念 進程 (Process) 是計算機中的程序關于某數據集合上的一次運行活動 是系統進行資源分配的基本單位 簡單理解&#xff1a;程序的執行過程&#xff08;正在運行的應用程序&#xff09; &#xff08;2&#xff09;特性…

C#學習:基于LLM的簡歷評估程序

前言 在pocketflow的例子中看到了一個基于LLM的簡歷評估程序的例子&#xff0c;感覺還挺好玩的&#xff0c;為了練習一下C#&#xff0c;我最近使用C#重寫了一個。 準備不同的簡歷&#xff1a; 查看效果&#xff1a; 不足之處是現實的簡歷應該是pdf格式的&#xff0c;后面可以…