一個key-value存儲系統,帶有客戶端和服務器端。使用很是方便。git
使用B+樹做爲存儲引擎,客戶端和服務器端使用TCP協議進行通訊。github
代碼採用C++實現,底層將客戶端和服務器通訊封裝成了一個網絡庫,裏面還有些還不錯的實現可供看看,好比線程池、工做隊列、Reactor設計模式實現等等。設計模式
項目地址:https://github.com/zinx2016/Explorer (歡迎你們給star :)服務器
make網絡
首先啓動服務器程序:線程
而後,運行客戶端程序 :設計
首先,運行服務器程序 :
./exp-srvserver
而後,運行客戶端程序 :
./exp-cliblog
插入key-value :
> set zx 1隊列
查找key :
> get zx
更新key :
> update zx 2
刪除key :
> del zx
顯示存儲系統目前狀態 :
> stat
幫助命令 :
> h
退出客戶端 :
> q
Explorer默認採用字符串做爲key類型,int做爲value類型全部的key-values都存儲在一個文件中,文件名爲test.db。能夠在源文件test/kvstore/exp-server/exp-server.cc中修改文件名及文件位置。