Тогда это работает с Python 2.
твует много решений для сериализации небольшого словаря:json.loads
/json.dumps
, pickle
, shelve
, ujson
или даже с помощьюsqlite
.
Но когда речь идет о, возможно, 100 ГБ данных, больше нельзя использовать такие модули, которые могли бы перезаписывать все данные при закрытии / сериализации.
redis
на самом деле не вариант, потому что он использует схему клиент / сервер.
Вопрос:Какой ключ: хранилище значений, без сервера, способный работать с более чем 100 ГБ данных, часто используется в Python?
Я ищу решение со стандартным "Pythonic"d[key] = value
синтаксис:
import mydb
d = mydb.mydb('myfile.db')
d['hello'] = 17 # able to use string or int or float as key
d[183] = [12, 14, 24] # able to store lists as values (will probably internally jsonify it?)
d.flush() # easy to flush on disk
Примечание:BsdDB (BerkeleyDB), похоже, устарела. Кажется, естьLevelDB для Python, но это не кажется известным - и яне нашел версия, которая готова к использованию в Windows. Какие из них будут наиболее распространенными?