Rust-rocksdb: La prise en charge de contient la clé / la clé existe-t-elle ?

Créé le 23 juin 2020  ·  10Commentaires  ·  Source: rust-rocksdb/rust-rocksdb

Cela prend-il en charge la vérification de la clé si elle existe dans la base de données sans renvoyer la valeur/mettre à jour le cache ?

Tous les 10 commentaires

J'ai rapidement vérifié et je n'ai pas trouvé l'API correspondante dans rocksdb. Avez-vous vérifié là-bas?

Nous pouvons ajouter une méthode dans les liaisons de rouille, mais je pense que cela n'a guère de sens sans le support de rocksdb.

N'hésitez pas à rouvrir le sujet si j'ai raté quelque chose.

Rocksdb prend en charge cette fonctionnalité.

Voir les autres implémentations de Rust rocksdb

Code Rocksdb

Autres références : https://www.codota.com/code/java/methods/org.rocksdb.RocksDB/keyMayExist

Merci, pour une raison quelconque, je n'ai pas pu trouver ces méthodes : https://github.com/facebook/rocksdb/blob/master/include/rocksdb/db.h#L653
Autant que je sache, ces fonctions ne sont pas exposées via l'API C. J'ai fait la pull request : https://github.com/facebook/rocksdb/pull/7021

@DarkEld3r hé, les méthodes exposées dans votre PR lisent toujours les valeurs, elles ne sont donc pas si différentes de get IIUC. Pensez-vous qu'il est possible d'implémenter une vérification sans charger les valeurs en mémoire ?

De plus, KeyMightExist peut renvoyer des faux positifs IIUC.

renvoie une valeur booléenne indiquant si la clé n'existe pas ou pourrait exister.

Ah, désolé, j'ai mal lu le commentaire. Donc, en fournissant null value_found , il ne lit pas la valeur.

@stanislav-tkach votre PR facebook/rocksdb#7021 est déjà fusionné. Pouvons-nous ajouter un support ?

@rohitjoshi La dernière version (6.11.4) de rocksdb date du 20 juillet et, malheureusement, elle n'inclut pas mes modifications. Je suppose que nous devons attendre la prochaine version.

Une mise à jour pour ceci?

Autant que je sache, la dernière version de RocksDB inclut les modifications C-API requises, mais nous utilisons toujours la version 6.11.4.

Cette page vous a été utile?
0 / 5 - 0 notes