Java RocksDB的详细介绍

文章目录

  • RocksDB简介
  • maven jar包下载
  • 文件的写入
  • 文件的读取

RocksDB简介

RocksDB是 Facebook 开发的一款高效的数据库软件,其采用C++编写。其是一款key-value型数据存储软件,其具有四大特点。

**高性能:**RocksDB使用一套日志结构的数据库引擎,为了更好的性能,这套引擎是用C++编写的。 Key和value是任意大小的字节流。

为快速存储而优化:RocksDB为快速而又低延迟的存储设备(例如闪存或者高速硬盘)而特殊优化处理。 RocksDB将最大限度的发挥闪存和RAM的高度率读写性能。

可适配性:RocksDB适合于多种不同工作量类型。从像MyRocks这样的数据存储引擎,到应用数据缓存,甚至是一些嵌入式工作量,RocksDB都可以从容面对这些不同的数据工作量需求。

基础和高级的数据库操作,RocksDB提供了一些基础的操作,例如打开和关闭数据库。对于合并和压缩过滤等高级操作,也提供了读写支持。

RocksDB项目的源码地址为:

https://github.com/facebook/rocksdb

maven jar包下载

在Java环境下使用RocksDB需要下载其jar包,使用maven工程的pom,.xml文件进行配置:

<!-- https://mvnrepository.com/artifact/org.rocksdb/rocksdbjni -->
<dependency>
    <groupId>org.rocksdb</groupId>
    <artifactId>rocksdbjni</artifactId>
    <version>5.17.2</version>
</dependency>

文件的写入

文件的读取

package com.crawler.sina;

import org.rocksdb.Options;
import org.rocksdb.RocksDB;
import org.rocksdb.RocksIterator;
import org.apache.commons.io.FilenameUtils;
public class Test {

	static{
		RocksDB.loadLibrary();
	}
	static RocksDB rocksDB; 
	static String path = FilenameUtils.concat("F:\\program_work\\java_work\\CSDNCourse\\WebCollectorTest\\sinaNewsCrawler", "crawldb");;
	public static void main(String[] args) throws Exception {
		Options options = new Options();  
		options.setCreateIfMissing(true);  
		rocksDB = RocksDB.open(options, path); 
		RocksIterator iter = rocksDB.newIterator();
		for(iter.seekToFirst(); iter.isValid(); iter.next()) {  
			System.out.println("iter key:" + new String(iter.key()) + ", iter value:" + new String(iter.value()));  
		}

	}
}

文件的读取较为简单,使用迭代的方式进行输出,如下为控制台输出的结果。

Java RocksDB的详细介绍_第1张图片

参考:http://orchome.com/938

你可能感兴趣的:(数据库)