最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

使用 Go 實(shí)現(xiàn)一個簡單的 k-v 數(shù)據(jù)庫

2021-04-25 00:41 作者:roseduanV  | 我要投稿

大家好,我是 roseduan,今天我向大家推薦一下我寫的一個 Go 語言實(shí)戰(zhàn)項目—rosedb。

rosedb 是一個簡單、內(nèi)嵌的 k-v 數(shù)據(jù)庫,使用 Golang 實(shí)現(xiàn),支持多種數(shù)據(jù)結(jié)構(gòu),包含 String、List、Hash、Set、Sorted Set,接口名稱風(fēng)格和 Redis 類似。

如果你已經(jīng)比較熟悉 Go 語言的基礎(chǔ)知識了,但是又苦于沒有項目實(shí)戰(zhàn),無法得到進(jìn)一步的提升,那么這個項目一定是幫助你鞏固和進(jìn)階 Go 知識的絕佳素材。

我將這個項目開源到了我的 GitHub 上面,你可以在 GitHub 搜索 rosedb,或者點(diǎn)開這個鏈接查看:

https://github.com/roseduan/rosedb

大概去年 6 月份,我剛開始學(xué)習(xí) Go 語言,由于之前有 Java 的經(jīng)驗(yàn),加上 Go 的基本語法較簡單,上手還是很快,但是學(xué)完基礎(chǔ)的語法知識之后,就不知道下一步應(yīng)該做什么了,相信有很多小伙伴跟我有一樣的感覺。

一個偶然的機(jī)會,我在網(wǎng)上看到了一篇介紹數(shù)據(jù)庫模型的文章(文章地址在項目的 Issue 中),文章很簡單,理解起來也很容易,并且我一直以來對數(shù)據(jù)庫還是比較感興趣的。

因此我想著可以自己實(shí)現(xiàn)一個 k-v 數(shù)據(jù)庫,造個簡單的輪子,借此鞏固自己的一些基礎(chǔ)知識,通過實(shí)踐這個項目,至少可以學(xué)習(xí)到:

  • Go 語言大多數(shù)基礎(chǔ)語法,以及一些高級特性比如 goroutine、chan、mutex

  • 數(shù)據(jù)結(jié)構(gòu)及算法相關(guān)知識,鏈表,哈希表,跳表,有序集合等等

  • 操作系統(tǒng)的一些知識,特別是對文件系統(tǒng),內(nèi)存映射相關(guān)的內(nèi)容

今年初,我在找工作的時候,其實(shí)這個項目對我的幫助還是挺大的,在這之前我沒有任何 Go 相關(guān)工作經(jīng)驗(yàn),僅自學(xué)了 Go 語言的基礎(chǔ)知識,但還是順利找到了 Go 開發(fā)的工作職位。

在面試的過程當(dāng)中,一些面試官也對這個項目比較的感興趣,都讓我介紹一下,這也從某些程度說明,擁有一個開源項目,對于找工作是一個亮點(diǎn),不論項目的 star 數(shù)量多不多,這至少能夠說明你的動手能力,學(xué)習(xí)能力都還是不錯的。

很多同學(xué)可能覺得是寫數(shù)據(jù)庫,就想到可能有點(diǎn)困難。但其實(shí)我想說這種擔(dān)憂是多余的,因?yàn)轫椖空w來說還是挺簡單的,我在 B 站也錄制了幾期視頻,專門來講解這個項目,你可以跟著視頻來理解,就不會覺得很困難了。

你可以在 B 站搜索 roseduanV 或者點(diǎn)下面的鏈接訪問:

目前為止,其實(shí)這個項目還非常的不完善,我設(shè)想的很多功能都還沒有實(shí)現(xiàn),在項目的 TODO 列表中,你可以看到很多待實(shí)現(xiàn)的功能。

熟悉了這個項目之后,你可以嘗試著挑一個自己感興趣的 TODO 寫一下,成為這個項目的 Contributor。

當(dāng)然在研究這個項目的時候,你也可以參考一些其他的優(yōu)秀的數(shù)據(jù)庫,例如 redis、leveldb 等,翻一下源碼,看看別人都是怎么實(shí)現(xiàn)的,這樣對你來說是非常寶貴的探索經(jīng)驗(yàn)。

例如我寫這個項目的時候,就看了一些 redis 的源碼,這讓我對 redis 的底層實(shí)現(xiàn)有了更多的了解,并且還學(xué)習(xí)到了 redis 的一些優(yōu)化代碼的技巧,希望我的這個項目只是為你打開一扇門,而門后的精彩世界,需要你靠著好奇心自己去探索。


使用 Go 實(shí)現(xiàn)一個簡單的 k-v 數(shù)據(jù)庫的評論 (共 條)

分享到微博請遵守國家法律
老河口市| 乌鲁木齐县| 和顺县| 六盘水市| 闵行区| 沙湾县| 天祝| 汕头市| 通城县| 青岛市| 犍为县| 柯坪县| 县级市| 横山县| 增城市| 巍山| 皋兰县| 论坛| 涿州市| 元氏县| 高碑店市| 崇礼县| 故城县| 宝山区| 靖安县| 平阴县| 勃利县| 乡宁县| 滦平县| 吉木萨尔县| 富锦市| 宜良县| 会同县| 枣阳市| 鄂托克旗| 盱眙县| 沧源| 婺源县| 山西省| 古蔺县| 睢宁县|