2016-05-20 2 views
0

В моем кратком опыте структура данных Python dict замедляет выполнение программы, так как количество ключей достигает нескольких десятков тысяч. Мне нужно быстрое хранилище ключей для обработки до миллиона пар, где ключи могут быть int или str, а значения - str. Мне нужна альтернатива, которую я могу установить как пользователь без полномочий root на сервере Unix.Python dictionary vs. database

Какой из альтернатив вы бы порекомендовали?

  1. LevelDB (или любой другой БД) + Plyvel API или
  2. PyPi LevelDB библиотека https://pypi.python.org/pypi/leveldb

Являются ли эти эквивалентные варианты с точки зрения функциональности, производительности и сопровождения кода (я предполагая, что репозиторий leveldb Google будет впереди с точки зрения обновлений и исправлений ошибок)?

ответ

0

Я бы предложил Redis (http://redis.io/) его можно и нужно запускать как не-root, его можно скомпилировать и запустить в вашем домашнем каталоге (или любой другой каталог, который вы можете записать без корневых привилегий). Он также написан на C, но используется многими другими проектами. Он имеет API для всех языков программирования, которые считаются и активного сообщества. Я никогда не слышал о leveldb раньше, и он не очень активно развивается, глядя на githubs commit log.

HTH & приятный день!

Basti