для python struct может быть эффективным. Вот пример использования интерфейса ctypes leveldb из leveldb-py, сохраняющего значение 1. ,2,3,4,5 (в виде массива целых чисел) в БД с ключом 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
Для большей эффективности импортируйте определенные функции (например, «из пакета импорта структур») и используйте класс WriteBatch leveldb, если вам нужно выполнить множество операций записи.
Можно ли хранить целочисленные ключи/значения в LevelDB? предполагает, что может потребоваться пользовательский компаратор, однако этот конкретный интерфейс Python leveldb не поддерживает это. https://plyvel.readthedocs.org/en/latest/ может быть лучшим вариантом .
person
Brian Minton
schedule
06.12.2013