NDB コンテキスト クラス

アプリケーションは、Context を使用してキャッシュ ポリシーを制御できます。 また、Context には、Memcache と URL Fetch を NDB の非同期機能に統合するための便利な非同期 API が用意されています。特に Memcache API は自動バッチ処理をサポートします。

キャッシュ管理インスタンス メソッド

clear_cache()
インコンテキスト キャッシュをクリアします。
flush()
すべての自動バッチキューをフラッシュします(すべてサーバーに送信します)。フラッシュは非同期に発生します。

Future を返します。フラッシュが完了するまで待機するには、このオブジェクトの wait() メソッドを呼び出します。

get_cache_policy()
キャッシュ ポリシー関数を返します。このポリシー関数は、Key インスタンスを引数として取り、このキーを持つエンティティがインコンテキスト キャッシュに保存されるべきかどうかを示す bool を返します。None の場合もあります( default_cache_policy を使用することを意味する)。
get_datastore_policy()
現在のコンテキストの Datastore ポリシー関数を返します。このポリシー関数は、Key インスタンスを引数として取り、Datastore を使用するかどうかを示す bool を返します。None の場合もあります( default_datastore_policy を使用することを意味する)。
get_memcache_policy()
現在の memcache ポリシー関数を返します。このポリシー関数は、Key インスタンスを引数として取り、キャッシュに保存されるべきかどうかを示す bool を返します。None の場合もあります( default_memcache_policy を使用することを意味する)。
get_memcache_timeout_policy()
現在の memcache タイムアウト ポリシー関数を返します。このポリシー関数は、Key インスタンスを引数として取り、望ましい memcache タイムアウトを秒単位で返します(デフォルトのタイムアウトを使用する場合はゼロを返します)。None の場合もあります。この場合は default_memcache_timeout_policy を使用します。
set_cache_policy(func)
キャッシュ ポリシー関数を設定します。

引数

func
この関数は、Key インスタンスを引数として取り、このキーを持つエンティティがインコンテキスト キャッシュに保存されるべきかどうかを示す bool を返します。None が返される場合があります。
set_datastore_policy(func)
Datastore ポリシー関数を設定します。

引数

func
この関数は、Key インスタンスを引数として取り、このキーを持つエンティティが永続データストアに保存されるべきかどうかを示す bool を返します。None が返される場合があります。
set_memcache_policy(func)
memcache ポリシー関数を設定します。

引数

func
この関数は、Key インスタンスを引数として取り、このキーを持つエンティティがインコンテキスト キャッシュに保存されるべきかどうかを示す bool を返します。None が返される場合があります。
set_memcache_timeout_policy(func)
memcache タイムアウト ポリシー関数を設定します。

引数

func
この関数は、Key インスタンスを引数として取り、望ましい memcache タイムアウトを秒単位で返します(デフォルトのタイムアウトを使用する場合はゼロを返します)。None が返される場合があります。

Memcache および Urlfetch インスタンス メソッド

メソッドの詳細な一覧は、Memcache API リファレンスにあります。以下のリストでは、一般的に使用されるいくつかの方法を示しています。

memcache_add(key, value, time, namespace)
非同期自動バッチ処理 memcache add()
memcache_cas(key, value, time, namespace)
非同期自動バッチ処理 memcache Client cas()(比較とスワップ)。
memcache_decr(key, delta, initial_value, namespace)
非同期自動バッチ処理 memcache decr()
memcache_delete(key, seconds, namespace)
非同期自動バッチ処理 memcache delete()
memcache_get(key, namespace, use_cache)
非同期自動バッチ処理 memcache get()

Future を返します。その戻り値は memcache から取得した値、または None です。

memcache_gets(key, namespace, use_cache)
非同期自動バッチ処理 memcache gets()
memcache_incr(key, delta, initial_value, namespace)
非同期自動バッチ処理 memcache incr()
memcache_replace(key, value, time, namespace)
非同期自動バッチ処理 memcache replace()
memcache_set(key, value, time, namespace, use_cache)
非同期自動バッチ処理 memcache set()
urlfetch(url, payload, method, headers, allow_truncated, follow_redirects, validate_certificate, deadline, callback)
非同期自動バッチ処理 urlfetch fetch().

トランザクション管理メソッド

call_on_commit(callback)
トランザクションの commit の成功時に呼ぶ出すためにコールバックをキューに入れます。

トランザクションでない場合は、コールバックはすぐに呼び出されます。

トランザクションでは、複数のコールバックが登録され、トランザクションが commit されると、登録された順序で呼び出されます。トランザクションが失敗した場合、コールバックは呼び出されません。

コールバックが例外を発生させた場合は、通常と同じです。つまり、コールバックがすぐに呼び出された場合、それが発生させた例外もすぐに上位階層へ伝達されます。commit するまで呼び出しが延期された場合、残りのコールバックはスキップされ、例外は transaction() コールによって上位階層へ伝達されます(ただし、その時点でトランザクションはすでに commit されています)。

引数

callback
コールバック関数。このコールバック関数は、パラメータを受け取らず、何も返しません。
in_transaction()
このコンテキストがトランザクションを表す場合は True を返し、そうでない場合は False を返します。

静的メソッド

default_cache_policy(key)
エンティティのモデルクラスの _use_cache クラス変数を確認します。存在する場合、それを返します。ない場合は None を返します。
default_datastore_policy(key)
エンティティのモデルクラスの _use_datastore クラス変数を確認します。存在する場合、それを返します。ない場合は None を返します。
default_memcache_policy(key)
エンティティのモデルクラスの _use_memcache クラス変数を確認します。存在する場合、それを返します。ない場合は None を返します。
default_memcache_timeout_policy(key)
エンティティのモデルクラスの _memcache_timeout クラス変数を確認します。存在する場合、それを返します。ない場合は None を返します。
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Python 2 の App Engine スタンダード環境