2009-03-02 6 views

Antwort

1

Die einzige andere, den ich kenne, ist ein Fork von pytc aber es sieht aus wie sie nur einige Umgestaltung und Dokumentation der Arbeit getan haben, so ist es wahrscheinlich immer noch nur Hash-und B-Tree-Unterstützung:

tc

Wenn das nicht funktioniert, haben Sie wahrscheinlich kein Glück. Ich denke, alle Tyrannenbindungen verwenden nur die Hash-Engine.

+0

Ich schaute auf TC und sie haben nicht s Unterstützung für Tabelle entweder. Ich denke nur Perl und Ruby Bindungen haben volle Unterstützung für alle Bindungen. – Bharani

4

war ich in Kontakt mit dem Autor von tc und er sagte mir folgendes:

Derzeit gibt es in der Tabelle (tdb) -Treiber im master branch (unit tests) und der fdb driver ist in entwickelt ein separater Zweig.

Ich versuchte den Tabellentreiber für einen kleinen Test mit Erfolg, ich plane, es auf größeren Tabellen bald zu versuchen. Hier

2

Ich habe Überwachung wurde (und manchmal zu verbessern) verschiedene Python-Bindings für TC für mehr als ein Jahr, so dass hier ein aktualisierter Liste der besten Bindungen, die Ihren Kriterien entsprechen.

  • Für Tokyo Cabinet, einschließlich Tyrant: tokyo-python
  • Für Tokyo Tyrant (pure-Python): pyrant

Es gibt viele veraltete und/oder unvollständige Alternativen.

+0

Übrigens, alle neuen Arbeiten sind in meinem Fork von Pyrant gemacht: http://bitbucket.org/neithere/pyrant –

2

Mein Zweig der pytc "tc" genannt tun haben Unterstützung für Tabellen (TDB) http://github.com/rsms/tc

Grund Beispiel:

>>> 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 

Durchführen einer Abfrage:

>>> 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'] 

Weitere Beispiele in der TDB Gerätetest: http://github.com/rsms/tc/blob/master/lib/tc/test/tdb.py