一貫性ポリシーの指定
一貫性ポリシーを指定するには、次のいずれかを使用します。
-
SimpleConsistency
-
TimeConsistency
-
VersionConsistency
それぞれの詳細は次の各項で説明します。
一貫性ポリシーを選択したら、2つの方法のいずれかで使用できます。1つ目は、これを使用してデフォルトの一貫性ポリシーを定義する、StoreConfig.set_consistency()
メソッドの使用です。このように一貫性ポリシーを指定すると、操作時に操作ベースでオーバーライドされないかぎり、すべての格納操作でそのポリシーが使用されることになります。
一貫性保証を使用する2つ目の方法は、ストア読取り操作に使用しているStore
メソッドに指定するReadOptions
クラス・インスタンスを使用して、デフォルト・ポリシーをオーバーライドすることです。
次の例では、ストアのデフォルトの一貫性ポリシーの設定方法を示します。次の項では、操作ごとに一貫性ポリシーを指定する方法について説明します。
from nosqldb import Factory
from nosqldb import StoreConfig
## available consistency constants
from nosqldb import ABSOLUTE
from nosqldb import NONE_REQUIRED
from nosqldb import NONE_REQUIRED_NO_MASTER
...
# locations where our store and proxy can be found
kvlite = 'localhost:5000'
proxy = 'localhost:7010'
...
# configure and open the store
def open_store():
kvstoreconfig = StoreConfig('kvstore', [kvlite])
kvstoreconfig.set_consistency(NONE_REQUIRED)
return Factory.open(proxy, kvstoreconfig)
...