使用怎么Java怎么操作數(shù)據(jù)庫(kù)leveldb?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
成都創(chuàng)新互聯(lián)2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元定遠(yuǎn)做網(wǎng)站,已為上家服務(wù),為定遠(yuǎn)各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108<dependency> <groupId>org.iq80.leveldb</groupId> <artifactId>leveldb-api</artifactId> <version>0.10</version> </dependency> <dependency> <groupId>org.iq80.leveldb</groupId> <artifactId>leveldb</artifactId> <version>0.10</version> </dependency>
初始化DB
DBFactory factory = new Iq80DBFactory(); Options options = new Options(); options.createIfMissing(true); //folder 是db存儲(chǔ)目錄 DB db = factory.open(new File(folder), options);
存儲(chǔ)Key Value 值
//levelDB 的api存儲(chǔ)都是字節(jié)數(shù)組 所以這里需要轉(zhuǎn)成字節(jié)數(shù)組 db.put(Iq80DBFactory.bytes(key), Iq80DBFactory.bytes(value));
獲取Value
byte[] bytes = db.get(Iq80DBFactory.bytes(key)); String value = Iq80DBFactory.asString(bytes);
刪除|更改
//刪除 db.delete(Iq80DBFactory.bytes(key)); //更改 重新put新的key - value即可 db.put(Iq80DBFactory.bytes(key), Iq80DBFactory.bytes(value));
遍歷所有數(shù)據(jù)
public LinkedHashMap<String, String> iteratorDb() { DBIterator iterator = db.iterator(); LinkedHashMap<String, String> linkedHashMap = new LinkedHashMap<>(); while (iterator.hasNext()) { Map.Entry<byte[], byte[]> next = iterator.next(); String key = Iq80DBFactory.asString(next.getKey()); String value = Iq80DBFactory.asString(next.getValue()); linkedHashMap.put(key, value); } return linkedHashMap; }
基于SpringBoot搭建的控制器
隨機(jī)生成 指定數(shù)量的UUID 并且插入到LevelDB
從請(qǐng)求 到響應(yīng) 5.5秒左右 如果再拋掉生成UUID的時(shí)間 可能更快 哈哈
@ResponseBody @GetMapping("/generate") public ResponeEntity generate(Long count) { DB db = levelDb.getDb(); //創(chuàng)建批量處理 WriteBatch batch = db.createWriteBatch(); for (int i = 0; i < count; i++) { String uuid = UUID.randomUUID().toString(); batch.put(Iq80DBFactory.bytes(uuid), Iq80DBFactory.bytes(uuid)); } //執(zhí)行寫入 db.write(batch); return buildRespone(null); }
PostMan 請(qǐng)求到響應(yīng)時(shí)間 19毫秒
@ResponseBody @GetMapping("/getLevel") public ResponeEntity getLevel(String key) { byte[] bytes = db.get(Iq80DBFactory.bytes(key)); String value = Iq80DBFactory.asString(bytes); return buildRespone(value); }
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。
網(wǎng)站標(biāo)題:使用怎么Java怎么操作數(shù)據(jù)庫(kù)leveldb-創(chuàng)新互聯(lián)
本文路徑:http://aaarwkj.com/article34/hsspe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、建站公司、網(wǎng)站制作、品牌網(wǎng)站制作、網(wǎng)站排名、小程序開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容