org.rocksdb.RocksDB.get()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(9.5k)|赞(0)|评价(0)|浏览(323)

本文整理了Java中org.rocksdb.RocksDB.get方法的一些代码示例,展示了RocksDB.get的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RocksDB.get方法的具体详情如下:
包路径:org.rocksdb.RocksDB
类名称:RocksDB
方法名:get

RocksDB.get介绍

[英]The simplified version of get which returns a new byte array storing the value associated with the specified input key if any. null will be returned if the specified key is not found.
[中]get的简化版本,它返回一个新字节数组,存储与指定输入键(如果有)关联的值。如果找不到指定的密钥,则返回null。

代码示例

代码示例来源:origin: apache/flink

  1. @Override
  2. public boolean contains(UK userKey) throws IOException, RocksDBException {
  3. byte[] rawKeyBytes = serializeCurrentKeyWithGroupAndNamespacePlusUserKey(userKey, userKeySerializer);
  4. byte[] rawValueBytes = backend.db.get(columnFamily, rawKeyBytes);
  5. return (rawValueBytes != null);
  6. }

代码示例来源:origin: Alluxio/alluxio

  1. @Override
  2. public Optional<Long> getChildId(Long inodeId, String name) {
  3. byte[] id;
  4. try {
  5. id = mDb.get(mEdgesColumn, RocksUtils.toByteArray(inodeId, name));
  6. } catch (RocksDBException e) {
  7. throw new RuntimeException(e);
  8. }
  9. if (id == null) {
  10. return Optional.empty();
  11. }
  12. return Optional.of(Longs.fromByteArray(id));
  13. }

代码示例来源:origin: apache/flink

  1. @Override
  2. public UV get(UK userKey) throws IOException, RocksDBException {
  3. byte[] rawKeyBytes = serializeCurrentKeyWithGroupAndNamespacePlusUserKey(userKey, userKeySerializer);
  4. byte[] rawValueBytes = backend.db.get(columnFamily, rawKeyBytes);
  5. return (rawValueBytes == null ? null : deserializeUserValue(dataInputView, rawValueBytes, userValueSerializer));
  6. }

代码示例来源:origin: Alluxio/alluxio

  1. @Override
  2. public Optional<BlockMeta> getBlock(long id) {
  3. byte[] meta;
  4. try {
  5. meta = mDb.get(mBlockMetaColumn, Longs.toByteArray(id));
  6. } catch (RocksDBException e) {
  7. throw new RuntimeException(e);
  8. }
  9. if (meta == null) {
  10. return Optional.empty();
  11. }
  12. try {
  13. return Optional.of(BlockMeta.parseFrom(meta));
  14. } catch (Exception e) {
  15. throw new RuntimeException(e);
  16. }
  17. }

代码示例来源:origin: alibaba/jstorm

  1. @Override
  2. public V get(K key) throws IOException {
  3. try {
  4. V ret = null;
  5. if (key != null) {
  6. byte[] rawKey = serializer.serialize(key);
  7. byte[] rawData = rocksDb.get(columnFamily, rawKey);
  8. ret = rawData != null ? (V) serializer.deserialize(rawData) : null;
  9. }
  10. return ret;
  11. } catch (RocksDBException e) {
  12. throw new IOException(String.format("Failed to get value by key-%s", key), e);
  13. }
  14. }

代码示例来源:origin: alibaba/jstorm

  1. @Override
  2. public Object get(String key) {
  3. try {
  4. byte[] data = db.get(key.getBytes());
  5. if (data != null) {
  6. try {
  7. return deserialize(data);
  8. } catch (Exception e) {
  9. LOG.error("Failed to deserialize obj of " + key, e);
  10. db.remove(key.getBytes());
  11. return null;
  12. }
  13. }
  14. } catch (Exception ignored) {
  15. }
  16. return null;
  17. }

代码示例来源:origin: ethereum/ethereumj

  1. @Override
  2. public byte[] get(byte[] key) {
  3. resetDbLock.readLock().lock();
  4. try {
  5. if (logger.isTraceEnabled()) logger.trace("~> RocksDbDataSource.get(): " + name + ", key: " + toHexString(key));
  6. byte[] ret = db.get(readOpts, key);
  7. if (logger.isTraceEnabled()) logger.trace("<~ RocksDbDataSource.get(): " + name + ", key: " + toHexString(key) + ", " + (ret == null ? "null" : ret.length));
  8. return ret;
  9. } catch (RocksDBException e) {
  10. logger.error("Failed to get from db '{}'", name, e);
  11. hintOnTooManyOpenFiles(e);
  12. throw new RuntimeException(e);
  13. } finally {
  14. resetDbLock.readLock().unlock();
  15. }
  16. }

代码示例来源:origin: Alluxio/alluxio

  1. @Override
  2. public Optional<MutableInode<?>> getMutable(long id) {
  3. byte[] inode;
  4. try {
  5. inode = mDb.get(mInodesColumn, Longs.toByteArray(id));
  6. } catch (RocksDBException e) {
  7. throw new RuntimeException(e);
  8. }
  9. if (inode == null) {
  10. return Optional.empty();
  11. }
  12. try {
  13. return Optional.of(MutableInode.fromProto(InodeMeta.Inode.parseFrom(inode)));
  14. } catch (Exception e) {
  15. throw new RuntimeException(e);
  16. }
  17. }

代码示例来源:origin: apache/flink

  1. SV getInternal(byte[] key) {
  2. try {
  3. byte[] valueBytes = backend.db.get(columnFamily, key);
  4. if (valueBytes == null) {
  5. return null;
  6. }
  7. dataInputView.setBuffer(valueBytes);
  8. return valueSerializer.deserialize(dataInputView);
  9. } catch (IOException | RocksDBException e) {
  10. throw new FlinkRuntimeException("Error while retrieving data from RocksDB", e);
  11. }
  12. }

代码示例来源:origin: apache/flink

  1. @Override
  2. public List<V> getInternal() {
  3. try {
  4. byte[] key = serializeCurrentKeyWithGroupAndNamespace();
  5. byte[] valueBytes = backend.db.get(columnFamily, key);
  6. return deserializeList(valueBytes);
  7. } catch (RocksDBException e) {
  8. throw new FlinkRuntimeException("Error while retrieving data from RocksDB", e);
  9. }
  10. }

代码示例来源:origin: apache/kylin

  1. @Override
  2. public String[] getRow(Array<String> key) {
  3. byte[] encodeKey = rowEncoder.encodeStringsWithLenPfx(key.data, false);
  4. try {
  5. byte[] value = rocksDB.get(encodeKey);
  6. if (value == null) {
  7. return null;
  8. }
  9. return rowEncoder.decode(new KV(encodeKey, value));
  10. } catch (RocksDBException e) {
  11. throw new IllegalStateException("error when get key from rocksdb", e);
  12. }
  13. }

代码示例来源:origin: apache/storm

  1. boolean populateFromKey(RocksDbKey key, Metric metric) throws MetricException {
  2. try {
  3. byte[] value = db.get(key.getRaw());
  4. if (value == null) {
  5. return false;
  6. }
  7. RocksDbValue rdbValue = new RocksDbValue(value);
  8. rdbValue.populateMetric(metric);
  9. } catch (Exception e) {
  10. String message = "Failed to populate metric";
  11. LOG.error(message, e);
  12. if (this.failureMeter != null) {
  13. this.failureMeter.mark();
  14. }
  15. throw new MetricException(message, e);
  16. }
  17. return true;
  18. }

代码示例来源:origin: brianfrankcooper/YCSB

  1. @Override
  2. public Status read(final String table, final String key, final Set<String> fields,
  3. final Map<String, ByteIterator> result) {
  4. try {
  5. if (!COLUMN_FAMILIES.containsKey(table)) {
  6. createColumnFamily(table);
  7. }
  8. final ColumnFamilyHandle cf = COLUMN_FAMILIES.get(table).getHandle();
  9. final byte[] values = rocksDb.get(cf, key.getBytes(UTF_8));
  10. if(values == null) {
  11. return Status.NOT_FOUND;
  12. }
  13. deserializeValues(values, fields, result);
  14. return Status.OK;
  15. } catch(final RocksDBException e) {
  16. LOGGER.error(e.getMessage(), e);
  17. return Status.ERROR;
  18. }
  19. }

代码示例来源:origin: brianfrankcooper/YCSB

  1. @Override
  2. public Status update(final String table, final String key, final Map<String, ByteIterator> values) {
  3. //TODO(AR) consider if this would be faster with merge operator
  4. try {
  5. if (!COLUMN_FAMILIES.containsKey(table)) {
  6. createColumnFamily(table);
  7. }
  8. final ColumnFamilyHandle cf = COLUMN_FAMILIES.get(table).getHandle();
  9. final Map<String, ByteIterator> result = new HashMap<>();
  10. final byte[] currentValues = rocksDb.get(cf, key.getBytes(UTF_8));
  11. if(currentValues == null) {
  12. return Status.NOT_FOUND;
  13. }
  14. deserializeValues(currentValues, null, result);
  15. //update
  16. result.putAll(values);
  17. //store
  18. rocksDb.put(cf, key.getBytes(UTF_8), serializeValues(result));
  19. return Status.OK;
  20. } catch(final RocksDBException | IOException e) {
  21. LOGGER.error(e.getMessage(), e);
  22. return Status.ERROR;
  23. }
  24. }

代码示例来源:origin: apache/flink

  1. @Override
  2. public V value() {
  3. try {
  4. byte[] valueBytes = backend.db.get(columnFamily,
  5. serializeCurrentKeyWithGroupAndNamespace());
  6. if (valueBytes == null) {
  7. return getDefaultValue();
  8. }
  9. dataInputView.setBuffer(valueBytes);
  10. return valueSerializer.deserialize(dataInputView);
  11. } catch (IOException | RocksDBException e) {
  12. throw new FlinkRuntimeException("Error while retrieving data from RocksDB.", e);
  13. }
  14. }

代码示例来源:origin: apache/storm

  1. private String metadataIdToString(KeyType type, int id, Map<Integer, String> lookupCache) throws MetricException {
  2. String s = readOnlyStringMetadataCache.getMetadataString(id);
  3. if (s != null) {
  4. return s;
  5. }
  6. s = lookupCache.get(id);
  7. if (s != null) {
  8. return s;
  9. }
  10. // get from DB and add to lookup cache
  11. RocksDbKey key = new RocksDbKey(type, id);
  12. try {
  13. byte[] value = db.get(key.getRaw());
  14. if (value == null) {
  15. throw new MetricException("Failed to find metadata string for id " + id + " of type " + type);
  16. }
  17. RocksDbValue rdbValue = new RocksDbValue(value);
  18. s = rdbValue.getMetdataString();
  19. lookupCache.put(id, s);
  20. return s;
  21. } catch (RocksDBException e) {
  22. if (this.failureMeter != null) {
  23. this.failureMeter.mark();
  24. }
  25. throw new MetricException("Failed to get from RocksDb", e);
  26. }
  27. }

代码示例来源:origin: apache/flink

  1. @Override
  2. public void mergeNamespaces(N target, Collection<N> sources) {
  3. if (sources == null || sources.isEmpty()) {
  4. return;
  5. }
  6. try {
  7. // create the target full-binary-key
  8. setCurrentNamespace(target);
  9. final byte[] targetKey = serializeCurrentKeyWithGroupAndNamespace();
  10. // merge the sources to the target
  11. for (N source : sources) {
  12. if (source != null) {
  13. setCurrentNamespace(source);
  14. final byte[] sourceKey = serializeCurrentKeyWithGroupAndNamespace();
  15. byte[] valueBytes = backend.db.get(columnFamily, sourceKey);
  16. backend.db.delete(columnFamily, writeOptions, sourceKey);
  17. if (valueBytes != null) {
  18. backend.db.merge(columnFamily, writeOptions, targetKey, valueBytes);
  19. }
  20. }
  21. }
  22. }
  23. catch (Exception e) {
  24. throw new FlinkRuntimeException("Error while merging state in RocksDB", e);
  25. }
  26. }

代码示例来源:origin: apache/flink

  1. @Override
  2. public byte[] getSerializedValue(
  3. final byte[] serializedKeyAndNamespace,
  4. final TypeSerializer<K> safeKeySerializer,
  5. final TypeSerializer<N> safeNamespaceSerializer,
  6. final TypeSerializer<V> safeValueSerializer) throws Exception {
  7. //TODO make KvStateSerializer key-group aware to save this round trip and key-group computation
  8. Tuple2<K, N> keyAndNamespace = KvStateSerializer.deserializeKeyAndNamespace(
  9. serializedKeyAndNamespace, safeKeySerializer, safeNamespaceSerializer);
  10. int keyGroup = KeyGroupRangeAssignment.assignToKeyGroup(keyAndNamespace.f0, backend.getNumberOfKeyGroups());
  11. RocksDBSerializedCompositeKeyBuilder<K> keyBuilder =
  12. new RocksDBSerializedCompositeKeyBuilder<>(
  13. safeKeySerializer,
  14. backend.getKeyGroupPrefixBytes(),
  15. 32
  16. );
  17. keyBuilder.setKeyAndKeyGroup(keyAndNamespace.f0, keyGroup);
  18. byte[] key = keyBuilder.buildCompositeKeyNamespace(keyAndNamespace.f1, namespaceSerializer);
  19. return backend.db.get(columnFamily, key);
  20. }

代码示例来源:origin: apache/flink

  1. setCurrentNamespace(source);
  2. final byte[] sourceKey = serializeCurrentKeyWithGroupAndNamespace();
  3. final byte[] valueBytes = backend.db.get(columnFamily, sourceKey);
  4. backend.db.delete(columnFamily, writeOptions, sourceKey);
  5. final byte[] targetValueBytes = backend.db.get(columnFamily, targetKey);

代码示例来源:origin: apache/flink

  1. setCurrentNamespace(source);
  2. final byte[] sourceKey = serializeCurrentKeyWithGroupAndNamespace();
  3. final byte[] valueBytes = backend.db.get(columnFamily, sourceKey);
  4. backend.db.delete(columnFamily, writeOptions, sourceKey);
  5. final byte[] targetValueBytes = backend.db.get(columnFamily, targetKey);

相关文章