Redis MySQL小結

問題1:Redis為什么高效?

答:基于內存,reactor,value的數據組織(五種數據結構),KV的數據組織方式(漸進hash)

問題2:跳表是什么?和紅黑樹的區別是什么?

答:跳表是一個多層級有序鏈表,查找時間復雜度是和二分一樣的O(log2n)。查詢是從上層開始的跳躍查詢一直找到目標節點。插入節點的時候,redis采用的是隨機層高,有1/4的概率往上升,最高規定是32層。

? ? ? ? 區別主要在于,跳表的底層是包含所有數據的,適合范圍查詢,比紅黑樹效率要高。但是跳表是概率型的數據結構,只有樣本數比較多才趨近于log,否則效率不如紅黑樹。

問題3:aof和rdb的區別是什么?

答:圍繞持久化的內容、相同數據量情況下誰的文件大誰的文件小、誰的恢復速度快誰的慢。

問題4:fork寫時復制的原理是什么?

答:從父進程fork一個子進程,會把頁表直接復制給子進程,同時將兩份頁表的頁表項修改為只讀狀態,因為是一樣的頁表,所以指向的是同一片內存。比如當父進程進行修改操作,會觸發寫保護中斷,寫保護中斷會觸發物理內存的復制,然后通過缺頁中斷修復映射關系,指向復制的內存區域。最后再把父進程的頁表項修改為可讀可寫,子進程的沒有修改

問題5:索引分類

答:按數據結構劃分:B+樹索引、Hash索引、全文索引

? ? ? ? 按物理存儲劃分:聚集索引、輔助索引

? ? ? ? 按列屬性劃分:主鍵索引、唯一索引、普通索引、前綴索引

? ? ? ? 按列的個數劃分:單列索引、組合索引

問題6:索引的代價是什么?

答:圍繞空間代價和維護代價展開。每一個索引都是一個B+樹,如果要修改一個字段的話,可能要修改多個B+樹。

問題7:innodb為什么采用B+樹,不采用紅黑樹

答:因為B+樹底層有所有的數據,可以支持范圍查詢。

? ? ? ?因為B+樹是多路平衡搜索樹比紅黑樹二路更多,可以降低層高,減少io次數。

? ? ? ?

問題8:MVCC的實現原理

答:為每行數據保存多個版本的快照,對要讀數據的事務提供對應符合條件的快照。具體的條件就是在拍攝快照的時候,產生的Read View數據結構的 內部變量關系。當

trx_id < min_trx_id? ?和? min_trx_id < trx_id < max_trx_id && trx_id 不屬于 m_ids

為事務間可見。

問題9:不可重復讀和幻讀的精準區別是什么?

答:兩次讀結果不一樣,是不可重復讀,本質是讀到了已經提交的數據。兩次讀到的數據集合不一樣,是幻讀,本質是當前讀和快照讀的不一致。

補充:

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

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

相關文章

Flink on YARN 實戰問題排查指南(精華版)

一、客戶端常見問題速查 ?1. JAR加載失敗終極解法?報錯提示&#xff1a;"Could not build the program from JAR file" 核心原因&#xff1a;80%的情況是Hadoop依賴缺失 黃金配置&#xff1a;export HADOOP_CONF_DIR${HADOOP_HOME}/etc/hadoop export HADOOP_CLASS…

迅為RK3576開發板Android12制作使用系統簽名

配套資料在網盤資料“iT0P-RK3576 開發板\02_【iTOP-RK3576 開發板】開發資料\ 08Android 系統開發配套資料\ 07 Android 制作使用系統簽名”目錄下制作簽名文件 在 Android 源碼 build/make/target/product/security/下存放著簽名文件&#xff0c;如下所示&#xff1a;將北京迅…

django連接minio實現文件上傳下載(提供接口示例)

django連接minio實現文件上傳下載&#xff08;提供接口示例&#xff09;項目環境前提1.模型創建2. 在 settings.py 中添加 MINIO 配置3.創建 MINIO 工具類4.創建序列化器5. 創建視圖6. 配置 URL 路由7.接口測試項目環境前提 已安裝python3.8以上環境已安裝djangorestframework…

Kafka消息隊列進階:發送策略與分區算法優化指南

Kafka消息隊列進階&#xff1a;發送策略與分區算法優化指南 目錄Kafka消息隊列進階&#xff1a;發送策略與分區算法優化指南摘要1. Kafka消息發送模式概述1.1 消息發送的核心流程1.2 三種發送模式對比2. 同步發送模式詳解2.1 同步發送實現原理2.2 同步發送性能優化3. 異步發送模…

【VScode】ssh報錯

【VScode】ssh報錯1. ssh報錯2. 解決1. ssh報錯 Failed to parse remote port from server output 2. 解決 windows電腦刪除 C:\Users\username\.ssh\known_hosts linux cd /home/username/.vscode-server/ rm -rf ~/.vscode-server重新回到Vscode連接ok

Grafana+Loki+Alloy構建企業級日志平臺

1.日志系統介紹日志系統&#xff1a;GLA、ELK、數倉 ?志處理流程&#xff1a;采集 > 存儲 > 檢索 > 可視化日志系統工作流程&#xff1a;日志平臺的目的&#xff1a;統一聚合分散的日志日志平臺搭建方案&#xff1a;ELK&#xff1a;ElasticSearch:存儲日志&#xff0…

老梁聊全棧系列:(階段一)現代全棧的「角色邊界」與「能力雷達圖」

JAVA Vue/React 雙棧工程師的「T 型→E 型」進化指南 接上篇《從單體到云原生的演進脈絡》 大家好&#xff0c;我是技術老梁&#xff0c;這是系列文章的第五篇。歡迎大家討論&#xff0c;分享經驗。如果知識對你有用&#xff0c;關注我&#xff0c;多多支持老梁&#xff0c;鼓…

使用 C# 設置 Excel 單元格格式

在實際報表開發中&#xff0c;Excel 的可讀性和美觀性與數據本身同樣重要。合理的單元格格式設置不僅能讓數據一目了然&#xff0c;還能讓報表顯得更專業。通過使用 C#&#xff0c;開發者可以精確控制 Excel 文件的單元格樣式&#xff0c;無需依賴 Microsoft Office。 本文演示…

Redis篇章3:Redis 企業級緩存難題全解--預熱、雪崩、擊穿、穿透一網打盡

在企業級應用場景中&#xff0c;Redis 作為高性能緩存利器&#xff0c;極大提升了系統響應速度&#xff0c;但隨著業務復雜度和并發量的攀升&#xff0c;緩存相關的各類挑戰也接踵而至。比如系統啟動時緩存缺失導致的數據庫壓力、大量緩存同時失效引發的連鎖故障、熱點數據過期…

【數值分析】02-緒論-誤差

參考資料&#xff1a; 書籍&#xff1a; 數值分析簡明教程/王兵團&#xff0c;張作泉&#xff0c;張平福編著. --北京&#xff1a;清華大學出版社&#xff1b;北京交通大學出版社&#xff0c;2012.8 視頻&#xff1a;學堂在線APP中北京交通大學“數值分析I” 前期回顧 【數值分…

P3918 [國家集訓隊] 特技飛行

P3918 [國家集訓隊] 特技飛行 - 洛谷 思路&#xff1a; 因為如果連續進行相同的動作&#xff0c;乘客會感到厭倦&#xff0c;所以定義某次動作的價值為(距上次該動作的時間) ci?&#xff0c;若為第一次進行該動作&#xff0c;價值為 0。同一個動作&#xff0c;價值為ci*(最后一…

Python爬蟲實戰:研究Pandas,構建期貨數據采集和分析系統

1. 引言 1.1 研究背景 期貨市場作為金融市場的重要組成部分,具有價格發現、風險管理和資源配置的重要功能。上海期貨交易所(Shanghai Futures Exchange, SHFE)作為中國四大期貨交易所之一,上市交易的品種包括銅、鋁、鋅、黃金、白銀等多種大宗商品期貨,其交易數據反映了…

Linux第十七講:應用層自定義協議與序列化

Linux第十七講&#xff1a;應用層自定義協議與序列化1.什么是序列化和反序列化2.重新理解read、write為什么支持全雙工3.網絡版計算器的實現3.1socket的封裝 -- 模板方法模式引入3.2序列化和反序列化 && json3.3協議的實現3.4 服務端整體看 -- 所有代碼3.5七層協議&…

附錄:Tomcat下載及啟動

一、打開Tomcat官網windows下載第四個壓縮包&#xff0c;下載完成后解壓縮。&#xff08;安裝路徑不要帶有中文和特殊符號&#xff09;二、啟動Tomcat進入bin文件夾&#xff1a;\Tomcat\apache-tomcat-11.0.11\bin&#xff0c;找到startup.bat文件點擊&#xff0c;黑窗口常駐即…

【CTF-WEB】表單提交(特殊參數:?url=%80和?url=@)(通過GBK編碼繞過實現文件包含讀取flag)

題目 尋找這個單純的網站的flag 前端代碼&#xff1a; <!DOCTYPE html> <head><title>CAT</title> </head><body> <h1>Cloud Automated Testing</h1> <p>輸入你的域名&#xff0c;例如&#xff1a;loli.club</p>…

(k8s)Kubernetes 資源控制器關系圖

Kubernetes 資源控制器關系圖 #mermaid-svg-da6tzgmJn70StNQM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-da6tzgmJn70StNQM .error-icon{fill:#552222;}#mermaid-svg-da6tzgmJn70StNQM .error-text{fill:#55222…

模電基礎:場效應管

目錄 一、場效應管概述 二、結型場效應管&#xff1a;基礎場效應管 &#xff08;1&#xff09;基本結構&#xff1a;PN結導電溝道 &#xff08;2&#xff09;工作原理&#xff1a;耗盡區擠壓溝道從而控制電流 &#xff08;3&#xff09;特性曲線 1.轉移特性 2.輸出特性 …

開發安全利器:detect-secrets 敏感信息掃描工具實戰指南

在現代軟件開發流程中&#xff0c;代碼安全已成為不可忽視的重要環節。尤其是在 DevSecOps 的理念逐漸普及的今天&#xff0c;如何在開發早期就發現并消除潛在的安全隱患&#xff0c;成為每一個開發者和安全工程師必須面對的問題。其中&#xff0c;敏感信息泄露&#xff08;Sec…

數字經濟專業核心課程解析與職業發展指南

在數字經濟高速發展的時代&#xff0c;選擇一門與未來趨勢緊密關聯的專業至關重要。數字經濟專業作為新興交叉學科&#xff0c;既涵蓋傳統經濟理論&#xff0c;又融合了大數據、人工智能等前沿技術。想要在這一領域脫穎而出&#xff0c;考取權威證書是提升競爭力的有效途徑。其…

使用yolo11訓練航拍圖片微小目標AI-TOD檢測數據集無損壓縮版YOLO格式14018張8類別已劃分好訓練驗證集步驟和流程

【數據集介紹】我們基于公開的大規模航空圖像數據集構建了AI-TOD&#xff0c;這些數據集包括&#xff1a;DOTA-v1.5的訓練驗證集[1]、xView的訓練集[19]、VisDrone2018-Det的訓練驗證集[20]、Airbus Ship的訓練驗證集1以及DIOR的訓練驗證測試集[3]。這些數據集的詳細信息如下&a…