pour python, struct peut être efficace. Voici un exemple utilisant les ctypes l'interface de leveldb-py mémoriser la valeur 1,2,3,4,5 (comme un tableau d'entiers) dans la base de données avec la clé 100:
import leveldb,array,struct
#this assumes 32-bit unsigned integers in machine order
value=struct.pack('p',array('I',[1,2,3,4,5]))
key=struct.pack('I',100)
db=leveldb.DB("/path/to/db", create_if_missing=True)
db[key]=value
Pour plus d'efficacité, importer le des fonctions spécifiques (par exemple "from struct import pack") et utilisez la classe WriteBatch de lelveldb, si vous avez un tas d'écritures à faire.
Can integer keys/values be stored in LevelDB?Can integer keys/values be stored in LevelDB? suggère qu'un comparateur personnalisé peut être nécessaire, mais cette interface Python leveldb particulière ne le supporte pas. https://plyvel.readthedocs.org/en/latest/ peut être une meilleure option.
Si vous utilisez simplement leveldb comme magasin de valeurs-clés, vous n'avez pas besoin de comparateur personnalisé. –