原创 golang協程池設計詳解

這篇文章主要介紹了golang協程池設計詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨着小編來一起學習學習吧 Why Pool go自從出生就身帶“高併發”的標

原创 Golang channel 源碼分析

之前知道go團隊在實現channel這種協程間通信的大殺器時只用了700多行代碼就解決了,所以就去膜拜讀了一把,但之後覆盤總覺得多少有點繞,直到有幸找到一個神級PPT https://speakerdeck.com/kavya... 生動

原创 golang 併發安全Map以及分段鎖的實現方法

這篇文章主要介紹了golang 併發安全Map以及分段鎖的實現方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧 涉及概念 併發安全Map 分段鎖 sync.Map CAS ( Co

原创 golang防緩存擊穿利器--singleflight

緩存擊穿     給緩存加一個過期時間,下次未命中緩存時再去從數據源獲取結果寫入新的緩存,這個是後端開發人員再熟悉不過的基操。本人之前在做直播平臺活動業務的時候,當時帶着這份再熟練不過的自信,把複雜的數據庫鏈表語句寫好,各種微服務之間調用撈

原创 golang 併發安全Map以及分段鎖的實現

涉及概念 併發安全Map 分段鎖 sync.Map CAS ( Compare And Swap ) 雙檢查 分斷鎖 type SimpleCache struct { mu sync.RWMutex items

原创 golang協程池設計

Why Pool go自從出生就身帶“高併發”的標籤,其併發編程就是由groutine實現的,因其消耗資源低,性能高效,開發成本低的特性而被廣泛應用到各種場景,例如服務端開發中使用的HTTP服務,在golang net/http包中,每一個

原创 雙向鏈表與LRU緩存淘汰機制

雙向鏈表 雙向鏈表作爲在日常開發中最常用的數據結構之一,應用十分廣泛,在諸多著名開源項目中如redis的list結構, groupcache的lru中均是核心實現。在設計此類數據集合的時候,外面看上去鏈表似乎與數組相似,但鏈表是一個非連續性