Cqlengine multilpe keyspaces

Ich verwende Cassandra von Python 3.4.0 mit Cassandra-Treiber 2.5.0 (und Cqlengine Modelle).

App-Daten werden verteilt in: ein Keyspace für Management und ein Keyspace pro Benutzer. Ich muss zwei Keyspaces abfragen: master + custom.

  • Verbessern Sie die Geschwindigkeit der Funken-App
  • Große Schriften verursachen Instabilität in Cassandra Ring
  • Cassandra: "Kann die Operation nicht gegen alle Hosts abschließen" während session.execute ()
  • Unkonfigurierter Spaltenfamiliefehler bei aufeinanderfolgenden Execute-Anrufen (CQL)
  • Was verursacht "keine lebensfähige Alternative am Eingang" Keine "Fehler mit Cassandra CQL
  • Wie kann ich den reduzierten Key-Teil meiner Funken-App verbessern?
  • Ich habe eine winzige Klasse für die Keyspace-Umschaltung kodiert, die wie folgt verwendet wird:

    with keyspace(new_keyspace): #do stuff with new_keyspace #do stuff with previous keyspace 

    Meine erste Version war:

     class keyspace(object): def __init__(self, new_keyspace): self.new_keyspace = new_keyspace self.old_keyspace = get_session().keyspace def __enter__(self): session = get_session() session.set_keyspace() connection.set_session(session) def __exit__(self, type, value, traceback): session = get_session() session.set_keyspace(self.old_keyspace) connection.set_session(session) 

    Und funktioniert überhaupt nicht Ich habe die Klasse mit:

     class keyspace(object): def __init__(self, new_keyspace): self.new_keyspace = new_keyspace self.old_keyspace = cassandra.cqlengine.models.DEFAULT_KEYSPACE def __enter__(self): cassandra.cqlengine.models.DEFAULT_KEYSPACE = self.new_keyspace def __exit__(self, type, value, traceback): cassandra.cqlengine.models.DEFAULT_KEYSPACE = self.old_keyspace 

    Letzter Code funktioniert, aber ich fühle mich unsicher, wenn du DEFAULT_KEYSPACE benutzt.

    Warum get_session (), set_session hat keine Wirkung?

    cassandra.cqlengine.models.DEFAULT_KEYSPACE sicher, um dies zu überprüfen?

    Vielen Dank

  • Mit Python ein C-String-Literal von JSON zu erzeugen
  • Wie verstehe ich regelmäßigen Ausdruck mit Python?
  • Was ist die beste Flucht Charakter Strategie für Python / MySQL Combo?
  • Wie kann ich einen ungültigen JSON-String automatisch beheben?
  • Python 3: Wie bekomme ich eine String-Literal-Darstellung eines Byte-Strings?
  • Wie kann man Auto-Escape in Django-Vorlagen verhindern?
  • One Solution collect form web for “Cqlengine multilpe keyspaces”

    Die Frage ist alt, hoffe das hilft jemand anderem.

    Ja der zweite Ansatz ist richtig. get_session() und set_session() hat keine Wirkung, da es prüft, ob models.DEFAULT_KEYSPACE gesetzt ist und setzt nur den neuen Keyspace, wenn er nicht gesetzt ist. Um den Keyspace effektiv zu ändern, musst du models.DEFAULT_KEYSPACE

    Python ist die beste Programmiersprache der Welt.