使用RocksDB需要导入如下maven:
<dependency>
<groupId>org.rocksdb</groupId>
<artifactId>rocksdbjni</artifactId>
<version>5.9.2</version>
</dependency>
程序示例:
import org.rocksdb.Options;
import org.rocksdb.RocksDB;
import org.rocksdb.RocksDBException;
import org.rocksdb.RocksIterator;
public class TestRocksdb {
//参数数据库存储位置
public TestRocksdb(String dbPath){
rocksDB=createRocksDB(dbPath);
}
//RocksDB引用
public static RocksDB rocksDB;
//加载RocksDB引擎
static{
RocksDB.loadLibrary();
}
public static RocksDB createRocksDB(String dbPath){
try {
//RocksDB初始化设置
Options options=new Options();
//如果本地文件失踪则创建
options.setCreateIfMissing(true);
//创建RocksDB对象
rocksDB=RocksDB.open(options,dbPath);
return rocksDB;
} catch (RocksDBException e) {
e.printStackTrace();
return null;
}
}
public boolean put(byte[] key,byte[] value ){
try {
rocksDB.put(key,value);
return true;
} catch (RocksDBException e) {
e.printStackTrace();
return false;
}
}
public byte[] get(byte[] key){
try {
byte[] value=rocksDB.get(key);
return value;
} catch (RocksDBException e) {
e.printStackTrace();
return null;
}
}
public void showAllData(){
RocksIterator iter = rocksDB.newIterator();
for(iter.seekToFirst(); iter.isValid(); iter.next()) {
byte[] key=iter.key();
byte[] value=iter.value();
System.out.println("key="+new String(key)+" --> value="+new String(value));
}
}
public static void main(String[] args) {
TestRocksdb rocksdb=new TestRocksdb("/test");
//要存放的数据key=key1,value="hello world"
boolean flag=rocksdb.put("key1".getBytes(),"hello world".getBytes());
if(flag==true){
System.out.println("存储成功");
}else{
System.out.println("存储失败");
}
//从数据库中获取数据
byte[] bytes=rocksdb.get("key1".getBytes());
System.out.println(new String(bytes));
}
}
结果: