原创 MySQL索引詳解

MySQL索引詳解 一. 索引的作用 索引的作用:提高數據查詢的效率。如果沒有索引,每次查詢數據都需要掃描全表。 二. 索引的常見模型 哈希表:以key-value的形式保存數據。 優點:查詢速度很快 O(1) 缺點:只適用於

原创 事務隔離級別總結

事務隔離級別總結 一. ACID特性 事務(Transaction)是數據庫系統中一系列操作的一個邏輯單元,所有操作要麼全部成功要麼全部失 敗。 事務是區分文件存儲系統與Nosql數據庫重要特性之一,其存在的意義是爲了保證即使在併

原创 Spring AOP VS AspectJ

Spring AOP 使用簡單 僅支持對Spring容器管理的Bean的增強,非Spring容器管理的對象(如業務POJO等)無法被攔截 僅支持對方法級別的增強,無法對成員變量、getter&setter等進行增強 動態代理類

原创 理解BloomFilter

理解BloomFilter 一. 產生背景 很多時候,我們都有這樣一個需求:判斷一個元素是否存在於集合中。比如IDEA中的單詞拼寫檢查,要判斷一個用戶輸入的單詞是否在詞庫中。 我們輕易能想到的一個簡單的解決方案,就是使用一個Has

原创 Cache-Aside Pattern

Cache-Aside Pattern 一. 背景和問題 緩存已經成爲了幾乎所有應用系統的必備要素。使用緩存可以有效提高系統的讀性能,相比於直接讀取數據庫,吞吐量有了很大的提高。但是,在實際生產環境中,很難保證緩存與數據庫中數據的

原创 Spring的事務傳播行爲

Spring的事務傳播行爲 一. 定義 Spring定義了7中事務的傳播行爲,在TransactionDefinition類中: public interface TransactionDefinition { int PR

原创 Redis集羣模式(Cluster)

Redis集羣模式(Cluster) 一. 單master在海量數據下的瓶頸 在單master的架構下,由於所有slave的數據都與master保持一致,因此Redis所能承載的數據量完全取決於master機器所在的內存。一旦出現

原创 Redis主從架構(replication)

Redis主從架構(replication) 一. Redis如何支持超過10w+的併發量 單機 單機Redis能夠承載的QPS大概在上萬到幾萬之間,取決於機器性能、業務操作複雜性等。理論上說,單機Redis無法支撐超過10w的併

原创 Redis持久化機制詳解

Redis持久化機制詳解 一. 持久化的意義 Redis持久化的意義:主要在於故障恢復。Redis如果僅將數據完全保存在內存中,是無法應對災難性故障的。如果Redis進程突然掛掉,保存在內存中的數據就全沒了,如果沒有持久化,後果不堪

原创 Spring源碼深度解析(二)

Spring源碼深度解析(二) 一. 主要內容 BeanFactory體系設計 核心接口 BeanDefinition加載流程 設計思想總結 二. BeanFactory體系設計 BeanFactory是Spring中十分重要的接

原创 MyBatis預編譯機制詳解

MyBatis預編譯機制詳解 一. "#{}“和”${}"的區別 "#{}"是將傳入的值按照字符串的形式進行處理,如下面這條語句: select user_id,user_name from t_user where user_i

原创 Redis持久化機制總結

Redis持久化機制總結 一. Redis持久化概述 爲了應對生產環境下,Redis的故障恢復和數據備份等需求,Redis提供了兩種持久化機制,分別是RDB和AOF。 RDB:以特定的時間間隔,保存當前數據庫中的全量數據快照。 AO

原创 詳解RocketMQ事務消息

詳解RocketMQ事務消息 事務消息是RocketMQ提供的非常重要的一個特性,在4.x版本之後開源,可以利用事務消息輕鬆地實現分佈式事務。本文對RocketMQ的事務消息進行詳細介紹,並給出了代碼示例。 一. 相關概念 Rocke

原创 Spring中Bean的創建流程

Spring中Bean的創建流程 一. 核心代碼 BeanDefinition的解析在AbstractAutowireCapableBeanFactory的resolveBeforeInstantiation()中: @Nullabl

原创 Spring解決循環依賴的思路

Spring解決循環依賴的思路 一. 什麼是循環依賴 循環依賴也就是循環引用,指兩個或多個對象互相持有對方的引用。通俗地說,假設在Spring中有3個Service Bean,分別爲ServiceA、ServiceB和ServiceC