rocksdb的iterator迭代器的使用

初始化
RocksDB.loadLibrary();//加载jni

RocksDB db = RocksDB.open(options, db_path_not_found)//打开数据库
 
使用
单条插入
db.put("hello".getBytes(), "world".getBytes());

批量插入
try (final WriteOptions writeOpt = new WriteOptions()) {
  for (int i = 10; i <= 19; ++i) {
    try (final WriteBatch batch = new WriteBatch()) {
      for (int j = 10; j <= 19; ++j) {
        batch.put(String.format("%dx%d", i, j).getBytes(),
            String.format("%d", i * j).getBytes());
      }
      db.write(writeOpt, batch);
    }
  }

查询
value = db.get("world".getBytes());

迭代器查询
try (final RocksIterator iterator = db.newIterator()) {
  for (iterator.seekToLast(); iterator.isValid(); iterator.prev()) {
    values.add(iterator.value ());
  }
}

 转为java代码就可以了

  auto iter = db->NewIterator(ReadOptions());
  Slice prefix = options.prefix_extractor->Transform("key0");
  for (iter->Seek("key0"); iter->Valid() && iter->key().starts_with(prefix); iter->Next())
  {
    std::cout << iter->key().ToString() << ": " << iter->value().ToString() << std::endl;
  }

转载地址:

https://blog.csdn.net/gunri_tianjin/article/details/83444651

https://rocksdb.org.cn/doc/Prefix-Seek-API-Changes.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值