1. 概念 我們知道,Elasticsearch(ES) 的底層存儲引擎是 Lucene,ES 調(diào)用 Lucene 的接口進(jìn)行 CRUD,寫入 Lucene 的數(shù)據(jù)首先是緩存...
1. 概念 我們知道,Elasticsearch(ES) 的底層存儲引擎是 Lucene,ES 調(diào)用 Lucene 的接口進(jìn)行 CRUD,寫入 Lucene 的數(shù)據(jù)首先是緩存...
VInt 介紹 VInt (variable-length Integer) 變長整數(shù),指的是使用動態(tài)變化的字節(jié)數(shù)來表示整數(shù)。我們熟悉的編程語言中,int 型都是由固定的 ...
一、背景 公司業(yè)務(wù)訂單數(shù)據(jù)增量大概在 4 億每月,訂單在數(shù)據(jù)庫中存量保存 3 個月數(shù)據(jù),一共 12 億文檔 1 TB 數(shù)據(jù)。平時讀 QPS 在 2500 左右,寫 QPS 在...
前言 HashMap在java程序中使用頗為頻繁,因此掌握HashMap的底層實(shí)現(xiàn)顯得格外重要。相信大家也知道HashMap是非線程安全的,在多線程環(huán)境下應(yīng)該避免使用Hash...
系統(tǒng)調(diào)用 在講解io之前,先介紹下系統(tǒng)調(diào)用。系統(tǒng)調(diào)用是操作系統(tǒng)內(nèi)核提供給外部訪問的最小接口,運(yùn)行在內(nèi)核態(tài),如果應(yīng)用層需要訪問cpu、內(nèi)存、io等資源時,則需要訪問系統(tǒng)調(diào)用進(jìn)行...
在使用go語言開發(fā)項(xiàng)目時,有這么個需求:在函數(shù)返回前檢查某個值是否合法,如果不合法則進(jìn)行修正。那最自然的實(shí)現(xiàn)方式如下: 但是這種方式有個弊端,當(dāng)number賦值為99999后...
前言 單例模式應(yīng)該是編程中使用最多的設(shè)計模式之一,寫好單例模式往往能體現(xiàn)一個程序員的基本功。單例模式看似簡單,但是要將其設(shè)計得高效、安全、優(yōu)雅,還是需要考慮很多細(xì)節(jié)之處。本文...