RocksDB存储在默认列族

使用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));
    }
}

结果:

猜你喜欢

转载自blog.csdn.net/JWbonze/article/details/93637788