美文网首页
levelDB in Java (基本篇)

levelDB in Java (基本篇)

作者: 散入风中 | 来源:发表于2018-08-22 18:38 被阅读0次

首先我们需要知道,levelDB是由C++写的,官方不提供支持java侧的使用库,但有第三方组织对C++连接levelDB进行了java重构,让我们可以在java端去使用levelDB。

1.引入依赖

引入第三方提供的连接依赖:

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

如果你的本地仓库com.google.guava包没有或是版本较低,请更换为高版本,否则在连接时,可能会因为版本过低导致第三方iq80依赖中使用的google.common包中的方法找不到而抛出异常。

两个都需要更换高版本

2.获取一个DB连接

第三方依赖无需任何XML配置,因为levelDB官方已经提出,他们不提供数据库的服务支持,需要自行封装,levelDB有着很好的封装性,所以这一点可以比较便利地达成。

获取DB连接

file需要指定存放数据的路径,类似于我们手动指定mysql中.db文件存放的位置。

这里通过iq80的打开一个连接,并指定数据存储的文件夹,Options是一个设置类,可以对连接进行初始化设置,这里只设置了当连接不存在时则创建。

3.增删查

levelDB提供了增删查功能,数据均通过byte[]的形式存储到文件中。

分别为增加,查找,删除 在linux上使用JVM运行打印出bytes为World

level中全部数据都以byte[]的形式传输,无一例外。

level的存储机制请查看另一篇简书:levelDB的LSM文件树浅析 - 简书

相关文章

  • levelDB in Java (基本篇)

    首先我们需要知道,levelDB是由C++写的,官方不提供支持java侧的使用库,但有第三方组织对C++连接lev...

  • LevelDB 功能与架构

    1. LevelDB是什么 LevelDB是一个功能上类Redis的key/value存储引擎。Redis是一个基...

  • LevelDB原理深入学习

    LevelDB原理补充 对于LevelDB的学习,在博客和维基以及百度上学习了一些基本概念和原理,但还是不是十分理...

  • Java LevelDB 初体验

    前言 引入SDK 初始化DB 存储Key Value 值 获取Value 删除|更改 遍历所有数据 测试插入一百万...

  • levelDB以及goleveldb初步学习

    LevelDB介绍: 官网:http://leveldb.org/ levelDB是Google开源的KeyVal...

  • [LevelDB]状态类的设计

    [LevelDB]状态类的设计.md LevelDB的状态类是leveldb::Status,以下简称Status...

  • leveldb 源码分析 —— SkipList跳表

    leveldb 源码分析 —— SkipList跳表 原文 leveldb 存取数据,都在用 MemTable 这...

  • leveldb源码解析之三Get实现

    导读 本篇博文主要是记录leveldb的Get实现!Get的流程从宏观上来说非常简单,无非是递归往下找,直到找到或...

  • 游戏架构方案

    人生最苦之事,莫过于明知要失去,但是却还没发生。------基兰 从本篇开始,将试着描述一下Java游戏服常见的架...

  • LevelDB与RocksDB的区别

    RocksDB是在LevelDB的基础上优化而来。 Features Not in LevelDB · faceb...

网友评论

      本文标题:levelDB in Java (基本篇)

      本文链接:https://www.haomeiwen.com/subject/idgyiftx.html