mysql和redis基礎知識總結

2021-10-24 07:51:21 字數 714 閱讀 3050

一、mysql

1.1、mysql架構和sql執行流程

sql執行流程:

通訊協議(tcp/ip socket)-》查詢快取(mysql8 去掉此功能)-》語法解析和預處理-》查詢優化和查詢執行計畫-》儲存引擎-》執行引擎

mysql架構分層:

連線層-》服務層-》儲存引擎

inndb記憶體結構和磁碟結構:

記憶體結構:

buffer pool、change buffer寫緩衝、adaptive hash index、log buffer(redo log)

磁碟結構:

系統表空間、獨佔表空間、通用表空間、臨時表空間、redo log、undo log

1.2、mysql索引深入解析

索引儲存模型推演:

二分查詢-》二叉查詢樹-》平衡二叉樹(左旋、右旋)-》多路平衡查詢樹(b tree)(**、合併) -》加強版多路平衡查詢樹(b+ tree)

innodb邏輯儲存結構:

表空間(table space)-》段(segment)-》簇/區(extent)-》頁(page)-》行(row)

索引使用原則:

列的離散度大、聯合索引最左匹配、索引覆蓋、索引條件下推

1.3、mysql事務與鎖詳解:

事務的四大特性:

原子性(依靠undo log實現)、一致性、隔離性、永續性(redo log + double write實現)

Redis基礎知識

1 redis是開源的高效能鍵值對 key value 資料庫 通過提供各種鍵值資料型別來適應不同場景下的儲存需求,並借助許多高層級的介面使其可以勝任如快取 佇列系統等不同的角色。2 remote dictionary server,以字典結構儲存資料,並允許其他應用通過tcp協議讀寫字典中的內容 ...

redis基礎知識

redis是乙個基於記憶體的高效能key value 1.redis五大基本資料型別 字串 string set get 雜湊 hash hmset hmgetall 鍊錶 list 按照插入順序可以新增乙個元素列表的頭部 左邊 和尾部 右邊 lpush rpush lrange 集合 set sa...

Redis基礎知識

樂觀鎖watch相當於mysql裡面的version jedis採用的是直連的方式,多個執行緒的操作不安全,避免的話採用的是池化技術 redis資料使用的是記憶體中,因此廣泛應用在快取裡面 使用當作快取的原因 模擬一下作業系統裡面的區域性性原理 使用redis不用本地的map的原理 map屬於本地快...