RocksDB简介
RocksDB是 Facebook 开发的一款高效的数据库软件,其采用C++编写。其是一款key-value型数据存储软件,其具有四大特点。
**高性能:**RocksDB使用一套日志结构的数据库引擎,为了更好的性能,这套引擎是用C++编写的。 Key和value是任意大小的字节流。
为快速存储而优化:RocksDB为快速而又低延迟的存储设备(例如闪存或者高速硬盘)而特殊优化处理。 RocksDB将最大限度的发挥闪存和RAM的高度率读写性能。
可适配性:RocksDB适合于多种不同工作量类型。从像MyRocks这样的数据存储引擎,到应用数据缓存,甚至是一些嵌入式工作量,RocksDB都可以从容面对这些不同的数据工作量需求。
基础和高级的数据库操作,RocksDB提供了一些基础的操作,例如打开和关闭数据库。对于合并和压缩过滤等高级操作,也提供了读写支持。
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()));
}
}
}
文件的读取较为简单,使用迭代的方式进行输出,如下为控制台输出的结果。