原创 mysql 存儲結構介紹及執行過程分析

MySQL體系結構介紹   1 mysql 的體系結構     MySQL整體的邏輯結構可以分爲4層,客戶層、服務層、存儲引擎層、數據層 客戶層 客戶層:進行相關的連接處理、權限控制、安全處理等操作 服務層 服務層負責與客戶層進行連

原创 mysql事務隔離級別及MVCC 原理

一、事務的隔離級別 爲了保證事務與事務之間的修改操作不會互相影響,innodb希望不同的事務是隔離的執行的,互不干擾。 兩個併發的事務在執行過程中有 讀讀、讀寫(一個事務在讀某條數據的同時另一個事務在寫這條數據)、寫讀 和 寫寫 這4種情況

原创 Innodb索引結構和索引優化方案

數據庫可能存在千萬級的數據,必須將這些行數據以一定的結構組織起來做到高效的增刪改查。下面將分別探索innodb和myisam兩種引擎的索引方案。     一、InnoDB的索引 1、假設表初始沒有記錄,只有一個空頁,所有記錄按照主鍵順序放到

原创 hashmap組成原理及調用時機

整個HashMap中最重要的點有四個:初始化,數據尋址-hash方法,數據存儲-put方法,擴容-resize方法,只要理解了這四個點的原理和調用時機,也就理解了整個HashMap的設計。   如果有疑惑,那就說明我們還需要深入代碼,帶着問

原创 mysql 死鎖原因及解決辦法

Mysql 鎖類型 一、鎖類型介紹: MySQL 有三種鎖的級別:頁級、表級、行級。 表級鎖:開銷小,加鎖快;不會出現死鎖;鎖定粒度大,發生鎖衝突的概率最高,併發度最低。 行級鎖:開銷大,加鎖慢;會出現死鎖;鎖定粒度最小,發生鎖衝突的概率

原创 MySQL read view 在RR和RC隔離級別下的異同

1.首先了解下什麼是read view 這裏說的 read view 是InnoDB 在實現 MVCC 時用到的一致性讀視圖,即 consistent read view,用於支持 RC(Read Committed,讀提交)和 RR(Re

原创 延時消息在項目中的應用(二:消息實現與複雜度優化方案)

延時消息在項目中的應用(二:消息實現) 參考:延時消息在項目中的應用(一:方案選擇)https://www.cnblogs.com/yizhiamumu/p/16736527.html 基本概念:延遲消息是指生產者發送消息發送消息後,不能立

原创 Raft協議 解讀Raft(二 選舉和日誌複製) 解讀Raft(三 安全性) 解讀Raft(四 成員變更)

    算法基礎 選舉和日誌複製 安全性 節點變更   第一篇:《解讀Raft(一 算法基礎)》   什麼是RAFT 分佈式系統除了提升整個體統的性能外還有一個重要特徵就是提高系統的可靠性。 提供可靠性可以理解爲系統中一

原创 爲什麼MySQL 默認隔離級別是RR,又被阿里設置爲RC

我們知道,我們可以通過這個命令查看數據庫當前的隔離級別,MySQL 默認隔離級別是RR.  select @@tx_isolation;   ANSI/ISO SQL定義的標準隔離級別有四種,從高到底依次爲:可序列化(Serializabl

原创 bug記錄|NON-STATIC METHOD CANNOT BE REFERENCED FROM A STATIC CONTEXT

bug記錄|NON-STATIC METHOD CANNOT BE REFERENCED FROM A STATIC CONTEXT     問題:原因:靜態方法無法調用自己定義的非靜態方法 解決方案:1.改變非靜態方法爲靜態方法

原创 Redis過期策略以及Redis的內存淘汰機制

此篇介紹了Redis過期策略以及Redis的內存淘汰機制,從內存淘汰的8種策略,如何開啓內存淘汰策略到如何選擇合適的淘汰策略,對Redis的內存淘汰機制做了全方位的闡述   如何高效的使用內存對於redis來說是非常關鍵的,因爲redis的

原创 Redis 高可用方案原理初探

  Redis 高可用的方案包括:持久化、主從複製(及讀寫分離)、哨兵和集羣(Cluster)。 持久化 解決Redis 數據的單機備份問題(從內存到硬盤的備份),數據可用性以及可靠性。 主從複製 解決數據的多機熱備,以及從實例角度進行

原创 分佈式緩存應用場景與redis持久化機制

分佈式緩存應用場景與redis持久化機制 隨着用戶數和訪問量越來越大,我們的系統應用需要支撐更多的併發量。 但是往往我們的應用服務器資源是有限的,數據庫每秒能接受的請求次數也是有限的(或者文件的讀寫也是有限的),如何能夠有效利用有限的資源來

原创 消息隊列的一些場景及源碼分析,RocketMQ使用相關問題及性能優化 分佈式事務原理及解決方案案例 分佈式事務實戰方案彙總 消息隊列初見:一起聊聊引入系統mq 之後的問題

 前文目錄鏈接參考:  消息隊列的一些場景及源碼分析,RocketMQ使用相關問題及性能優化 https://www.cnblogs.com/yizhiamumu/p/16694126.html 消息隊列的對比測試與RocketMQ使用擴

原创 消息隊列爲什麼選用redis是否合適? 消息隊列的對比測試與業務選擇? RocketMq 原理深入瞭解?聊聊關於「技術方案選型」的問題

一:消息隊列爲什麼選用redis是否合適? 二:消息隊列的對比測試與業務選擇? 三:RocketMq 原理深入瞭解? 四:聊聊關於「技術方案選型」的問題   本文討論關於「把 Redis 當作隊列來用是否合適」的問題。 贊成的觀點認爲 Re