首先我们需要知道,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为Worldlevel中全部数据都以byte[]的形式传输,无一例外。
level的存储机制请查看另一篇简书:levelDB的LSM文件树浅析 - 简书
网友评论