原创 Redis底層原理 (Redis實現分佈式鎖)(八)

業務場景 防止用戶重複下單 MQ消息去重 訂單操作變更 庫存超賣 分析: 業務場景共性: 共享資源:用戶id、訂單id、商品id。。。解決方案 共享資源互斥 共享資源串行化 問題轉化      鎖的問題 (將需求抽象後得到問題的本質) 鎖

原创 sql優化最佳實踐 -- 選擇最有效率的表連接順序

sql優化最佳實踐 -- 選擇最有效率的表連接順序 首先要明白一點就是SQL 的語法順序和執行順序是不一致的 SQL的語法順序:     select   【distinct】 ....from ....【xxx  join】【on】..

原创 MySQL知識圖譜-總綱

MySQL學習知識圖譜-爲MySQL學習系列總綱 後面會根據知識圖譜對MySQL知識點進行系統的歸類和整理. 這章先到這裏吧. 

原创 Mysql 索引介紹及原理(二)索引的創建、查看、刪除

目標: 掌握索引、分類、優劣勢  使用命令創建、查看、刪除索引  理解索引的原理和存儲結構 索引創建 單列索引之普通索引 CREATE INDEX index_name ON table(column(length)) ;

原创 Myeclipse安裝Maven插件

紅色字體是重點,敲黑板。。。。。。。。。 到官網下載maven插件  http://maven.apache.org/download.cgi  選擇最新版的插件:apache-maven-3.6.2-bin.zip 在E盤下新建文件夾

原创 設計模式概述--七大設計原則

        設計模式(Design Pattern)是前輩們對代碼開發經驗的總結,是解決特定問題的一系列套路。它不是語法規定,而是一套用來提高代碼可複用性、可維護性、可讀性、穩健性以及安全性的解決方案。       1995 年,Go

原创 SpringBoot2.0學習筆記:Spring Boot中集成Redis

一、關於Lettuce 在SpringBoot2.0.x版本中集成Redis,Lettuce現已取代Jedis作爲Redis驅動。那Lettuce又是個什麼呢?與Jedis又有何區別呢? Lettuce 是一個可伸縮的線程安全的 Redi

原创 Redis底層原理 (緩存淘汰策略)(二)

緩存淘汰策略 目標: 掌握Redis數據類型的底層數據結構 理解LRU 能夠編寫Redis事務處理,理解弱事務 理解Redis樂觀鎖及秒殺的實現 最大緩存 在 redis 中,允許用戶設置最大使用內存大小maxmemory,默

原创 SpringBoot Bean 創建方式 XML + Annotation

Spring創建bean方式多種,直接上代碼: 通過XML創建Bean有三種方式:默認無參構造,靜態工廠,實例工廠 通過Annotation創建Bean有三種方式:註解配置方式,獲取配置類中使用Bean註解方式,直接使用註解配置註冊Bea

原创 Redis底層原理 (Redis底層數據結構)(一)

Redis底層數據結構 目標: 掌握Redis數據類型的底層數據結構 理解LRU 能夠編寫Redis事務處理,理解弱事務 理解Redis樂觀鎖及秒殺的實現 Redis內存模型     Redis內存統計 127.0.0.1

原创 Redis底層原理 (Redis LRU算法)(三)

LRU緩存淘汰算法 LRU是(Least Recently Used)最近最少使用策略的縮寫,是根據數據的歷史訪問記錄來進行淘汰數據,其核心思想是“如果數據最近被訪問過,那麼將來被訪問的機率也更高”。 LRU 算法的核心數據結構就是哈希鏈

原创 Mysql架構、索引介紹及原理(一)

目標: 掌握Mysql的各組件及各組件的功能  理解Mysql簡版執行流程和詳細執行流程  掌握MyIsam和InnoDB的區別並說明使用場景  掌握Mysql日誌文件及主要日誌文件的作用  理解Mysql的數據文件及作

原创 IDEA Maven配置

IDEA 2018版 Maven配置  apache-maven-3.6.3 和 apache-maven-3.6.2 不兼容。導致奇怪錯誤。 apache-maven-3.6.1配置後OK 另Maven配置 <localReposit

原创 Mysql 索引介紹及原理(二)索引的原理和存儲結構

目標: 掌握索引、分類、優劣勢  使用命令創建、查看、刪除索引  理解索引的原理和存儲結構 索引存儲結構   索引是在存儲引擎中實現的,也就是說不同的存儲引擎,會使用不同的索引 MyISAM和InnoDB存儲引擎:只支持

原创 Redis底層原理 (持久化以及集羣)集羣工作原理(六)

兩個redis節點之間進行通信的時候,需要在客戶端執行下面一個命令 127.0.0.1:7000>cluster meet 127.0.0.1:7001 如下圖所示 意思很簡單,讓7000節點和7001節點知道彼此存在! 在握手成功