Обвязка двигателя Python Table для Tokyo Cabinet - PullRequest
12 голосов
/ 02 марта 2009

Я ищу привязки Python для Table движка токийского кабинета. Я пробовал Pytc , но могу найти только поддержку движка Hash и B-tree. Доступны ли другие привязки?

Ответы [ 5 ]

7 голосов
/ 22 мая 2009

Вот реализация поиска движка таблиц с использованием PyTyrant:

http://github.com/ericflo/pytyrant/tree/master

4 голосов
/ 09 апреля 2009

Я был в контакте с автором tc, и он сказал мне следующее:

В настоящее время таблица (tdb) драйвера существует в мастер ветке ( единица тесты ) и драйвер fdb разрабатывается в отдельной ветке.

Я попробовал драйвер таблицы для небольшого теста, но скоро планирую попробовать его для больших таблиц.

2 голосов
/ 06 октября 2009

В моей ветке pytc под названием "tc" есть поддержка таблиц (TDB) http://github.com/rsms/tc

Базовый пример:

>>> import tc
>>> db = tc.TDB("slab.tdb", tc.TDBOWRITER | tc.TDBOCREAT)
>>> db.put('some key', {'name': 'John Doe', 'age': '45', 'city': u'Internets'})
>>> rec = db.get('some key')
>>> print rec['name']
John Doe

Выполнение запросов:

>>> import tc
>>> db = tc.TDB("slab.tdb", tc.TDBOWRITER | tc.TDBOCREAT)
>>> db.put('torgny',  {'name': 'Torgny Korv', 'age': '31', 'colors': 'red,blue,green'})
>>> db.put('rosa',    {'name': 'Rosa Flying', 'age': '29', 'colors': 'pink,blue,green'})
>>> db.put('jdoe',    {'name': 'John Doe',    'age': '45', 'colors': 'red,green,orange'})
>>> q = db.query()
>>> q.keys()
['torgny', 'rosa', 'jdoe']
>>> q.filter('age', tc.TDBQCNUMGE, '30')
>>> q.keys()
['torgny', 'jdoe']
>>> q.filter('colors', tc.TDBQCSTROR, 'blue')
>>> q.keys()
['torgny']
>>> # new query:
>>> q = db.query()
>>> q.order('name') # Ascending order by default
>>> q.keys()
['jdoe', 'rosa', 'torgny']
>>> q.order(type=tc.TDBQONUMASC, column='age')
>>> q.keys()
['jdoe', 'torgny', 'rosa']

Дополнительные примеры в модульном тесте TDB: http://github.com/rsms/tc/blob/master/lib/tc/test/tdb.py

2 голосов
/ 21 августа 2009

Я наблюдаю (и иногда улучшаю) различные привязки Python для TC более года, поэтому вот обновленный список лучших привязок, соответствующих вашим критериям.

Существует множество устаревших и / или неполных альтернатив.

1 голос
/ 02 марта 2009

Единственный другой, которого я знаю, это форк pytc, но похоже, что они только выполнили некоторую работу по рефакторингу и документированию, так что, вероятно, все еще поддерживается только хеш и b-tree:

дц

Если это не сработает, возможно, вам не повезло. Я думаю, что все привязки тирана используют только хэш-движок.

...