1.緩存穿透 是指當(dāng)用戶在查詢一條數(shù)據(jù)的時候淮腾,而此時數(shù)據(jù)庫和緩存都沒有關(guān)于這條數(shù)據(jù)的任何記錄脸候,而這條數(shù)據(jù)在緩存中沒找到就會向數(shù)據(jù)庫請求獲取數(shù)據(jù)贞奋。它拿不到數(shù)據(jù)時苟径,是會一直查詢數(shù)...
1.緩存穿透 是指當(dāng)用戶在查詢一條數(shù)據(jù)的時候淮腾,而此時數(shù)據(jù)庫和緩存都沒有關(guān)于這條數(shù)據(jù)的任何記錄脸候,而這條數(shù)據(jù)在緩存中沒找到就會向數(shù)據(jù)庫請求獲取數(shù)據(jù)贞奋。它拿不到數(shù)據(jù)時苟径,是會一直查詢數(shù)...
1.go struct能不能比較碱工?當(dāng)結(jié)構(gòu)體內(nèi)含有不可比較的類型(Slice, Map, 和Function)時庵寞,不可以比較茅姜,反之可以比較闪朱。 兩個不同的struct的實例不可以...
分布式鎖在后臺應(yīng)用廣泛,搶票系統(tǒng)匈睁,秒殺系統(tǒng)都能看到它的身影监透,實現(xiàn)分布式鎖的方式有很多,比如zookeeper航唆,redis胀蛮,以及etcd。下面用一個簡單的用例來說明etcd的實現(xiàn)糯钙。
為什么需要context在go服務(wù)器中粪狼,對于每個請求的request都是在單獨(dú)的goroutine中進(jìn)行的,處理一個request也可能設(shè)計多個goroutine之間的交互任岸,...
什么是事務(wù)再榄?事務(wù)是一組原子性的sql語句,或者說是一個獨(dú)立的工作單元享潜。事務(wù)有四個特性困鸥,原子性(Atomicity),一致性(Consistency),隔離型(Isolatio...
MPG模型1.M代表一個內(nèi)核線程,也可以稱為一個工作線程剑按。goroutine就是跑在M之上的疾就。2.P代表著處理器(processor),它的主要用途就是用來執(zhí)行g(shù)orouti...
映射是一個集合艺蝴,可以使用類似處理數(shù)組和切片的方式迭代映射中的元素猬腰。但映射是無序的集合,意味著沒有辦法預(yù)測鍵值對被返回的順序猜敢。即便使用同樣的順序保存鍵值對姑荷,每次迭代映射的時候順...
先看下源碼,源碼位于src/runtime/chan.go中 qcount uint // 當(dāng)前隊列中剩余元素個數(shù)dataqsiz uint // 環(huán)形隊列長度缩擂,即緩沖區(qū)的大...
var k int = 1var s = []int{1,2}多重賦值分為兩個步驟鼠冕,有先后順序,算等號左邊的索引表達(dá)式和取址表達(dá)式,接著計算等號右邊的表達(dá)式撇叁;賦值運(yùn)算等同于 ...
s.bar將被展開為(s.T).bar,而 s.T 是個空指針供鸠,解引用會 panic。而s.foo沒有panic是因為T的方法集有foo()陨闹,而沒有bar()方法集規(guī)則如下:...
interface和nilgolang的nil在概念上和其它語言的null楞捂、None薄坏、nil、NULL一樣寨闹,都指代零值或空值胶坠,在golang中,nil只能賦值給指針繁堡、chan...
第一次調(diào)用 change() 時沈善,append() 操作使切片底層數(shù)組發(fā)生了擴(kuò)容,原 slice 的底層數(shù)組不會改變椭蹄;第二次調(diào)用change() 函數(shù)時闻牡,使用了操作符[i,j...
描述:給你一個 n 個整數(shù)的序列 a1,a2,...,an翼馆,一個 132 模式是對于一個子串 ai,aj,ak割以,滿足 i < j < k 和 ai < ak < aj。設(shè)計一...
描述:給定一個整數(shù)數(shù)組应媚,請找出一個連續(xù)子數(shù)組严沥,使得該子數(shù)組的和最大。輸出答案時中姜,請分別返回第一個數(shù)字和最后一個數(shù)字的下標(biāo)消玄。(如果存在多個答案,請返回字典序最小的)思路:ans...
適配器它是主要作用是將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口這樣使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。適配器模式有兩種:1.類的適配器 2.對象適配器嗜桌,...
觀察者模式:定義了一種一對多的依賴關(guān)系,讓多個觀察者對象同時監(jiān)聽某一主題對象,在它的狀態(tài)發(fā)生變化時,會通知所有的觀察者.
//想要擴(kuò)展功能,裝飾者提供了有別于繼承的另外一種選擇辞色。//裝飾者模式主要實現(xiàn)的功能是動態(tài)的給某一個類添加一些額外的功能骨宠,它是一個錦上添花者。//想要擴(kuò)展功能相满,裝飾者提供了有...