levelDB in Java (基本篇)

首先我們需要知道,levelDB是由C++寫的,官方不提供支持java側(cè)的使用庫,但有第三方組織對C++連接levelDB進行了java重構(gòu),讓我們可以在java端去使用levelDB。

1.引入依賴

引入第三方提供的連接依賴:

iq80依賴,在maven Repository上可以看到最新版本

如果你的本地倉庫com.google.guava包沒有或是版本較低,請更換為高版本,否則在連接時,可能會因為版本過低導(dǎo)致第三方iq80依賴中使用的google.common包中的方法找不到而拋出異常。

兩個都需要更換高版本

2.獲取一個DB連接

第三方依賴無需任何XML配置,因為levelDB官方已經(jīng)提出,他們不提供數(shù)據(jù)庫的服務(wù)支持,需要自行封裝,levelDB有著很好的封裝性,所以這一點可以比較便利地達成。

獲取DB連接

file需要指定存放數(shù)據(jù)的路徑,類似于我們手動指定mysql中.db文件存放的位置。

這里通過iq80的打開一個連接,并指定數(shù)據(jù)存儲的文件夾,Options是一個設(shè)置類,可以對連接進行初始化設(shè)置,這里只設(shè)置了當連接不存在時則創(chuàng)建。

3.增刪查

levelDB提供了增刪查功能,數(shù)據(jù)均通過byte[]的形式存儲到文件中。

分別為增加,查找,刪除
在linux上使用JVM運行打印出bytes為World

level中全部數(shù)據(jù)都以byte[]的形式傳輸,無一例外。

level的存儲機制請查看另一篇簡書:levelDB的LSM文件樹淺析 - 簡書

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容