Class Konteks NDB

Aplikasi dapat menggunakan Konteks untuk mengontrol kebijakan penyimpanan dalam cache. Context juga menawarkan API asinkron yang praktis untuk Memcache dan URL Fetch yang terintegrasi ke dalam fasilitas asinkron NDB; khususnya, Memcache API mendukung batch otomatis.

Metode Instance Pengelolaan Cache

clear_cache()
Menghapus cache dalam konteks.
flush()
Mengosongkan semua antrean batch otomatis (mengirimkan tugas ke server). Pengosongan terjadi secara asinkron.

Menampilkan Future. Untuk menunggu pengosongan selesai, panggil metode wait() objek.

get_cache_policy()
Menampilkan fungsi kebijakan cache. Fungsi kebijakan ini menggunakan argumen instance Key dan menampilkan bool yang menunjukkan apakah entity dengan kunci ini harus di-cache dalam cache dalam konteks. Mungkin None (artinya gunakan default_cache_policy).
get_datastore_policy()
Menampilkan fungsi kebijakan Datastore konteks saat ini. Fungsi kebijakan ini menggunakan argumen instance Key dan menampilkan bool yang menunjukkan apakah fungsi tersebut harus menggunakan Datastore. Mungkin None (artinya gunakan default_datastore_policy).
get_memcache_policy()
Menampilkan fungsi kebijakan memcache saat ini. Fungsi kebijakan ini menggunakan argumen instance Key dan menampilkan bool yang menunjukkan apakah fungsi tersebut harus di-cache. Mungkin None (artinya gunakan default_memcache_policy).
get_memcache_timeout_policy()
Menampilkan fungsi kebijakan waktu tunggu memcache saat ini. Fungsi kebijakan ini menggunakan argumen instance Key dan menampilkan waktu tunggu memcache yang diinginkan dalam detik (atau menampilkan nol untuk menggunakan waktu tunggu default). Mungkin None, yang menggunakan default_memcache_timeout_policy.
set_cache_policy(func)
Menetapkan fungsi kebijakan cache.

Argumen

func
Fungsi ini menggunakan argumen instance Key dan menampilkan bool yang menunjukkan apakah entity dengan kunci ini harus disimpan dalam cache di cache dalam konteks. Mungkin None.
set_datastore_policy(func)
Menetapkan fungsi kebijakan Datastore.

Argumen

func
Fungsi ini menggunakan argumen instance Key dan menampilkan bool yang menunjukkan apakah entity dengan kunci ini harus disimpan di Datastore persisten. Mungkin None.
set_memcache_policy(func)
Menetapkan fungsi kebijakan memcache.

Argumen

func
Fungsi ini menggunakan argumen instance Key dan menampilkan bool yang menunjukkan apakah entity dengan kunci ini harus disimpan dalam cache di cache dalam konteks. Mungkin None.
set_memcache_timeout_policy(func)
Menetapkan fungsi kebijakan waktu tunggu memcache.

Argumen

func
Fungsi ini menggunakan argumen instance Key dan menampilkan waktu tunggu memcache yang diinginkan dalam hitungan detik (atau menampilkan nol untuk menggunakan waktu tunggu default). Mungkin None.

Metode Instance Memcache dan Urlfetch

Daftar lengkap metode dapat ditemukan dalam referensi API Memcache. Daftar di bawah ini menyoroti beberapa metode yang lebih umum digunakan:

memcache_add(key, value, time, namespace)
Membuat batch otomatis memcache asinkron add().
memcache_cas(key, value, time, namespace)
Membuat batch otomatis memcache asinkron Client cas() (bandingkan dan ganti).
memcache_decr(key, delta, initial_value, namespace)
Membuat batch otomatis memcache asinkron decr().
memcache_delete(key, seconds, namespace)
Membuat batch otomatis memcache asinkron delete().
memcache_get(key, namespace, use_cache)
Membuat batch otomatis memcache asinkron get().

Menampilkan Future yang nilai return-nya adalah nilai yang diambil dari memcache atau None.

memcache_gets(key, namespace, use_cache)
Membuat batch otomatis memcache asinkron gets().
memcache_incr(key, delta, initial_value, namespace)
Membuat batch otomatis memcache asinkron incr().
memcache_replace(key, value, time, namespace)
Membuat batch otomatis memcache asinkron replace().
memcache_set(key, value, time, namespace, use_cache)
Membuat batch otomatis memcache asinkron set().
urlfetch(url, payload, method, headers, allow_truncated, follow_redirects, validate_certificate, deadline, callback)
Membuat batch otomatis urlfetch asinkron fetch().

Metode Pengelolaan Transaksi

call_on_commit(callback)
Mengantrekan callback untuk dipanggil setelah commit transaksi berhasil.

Jika tidak ada dalam transaksi, callback akan segera dipanggil.

Dalam sebuah transaksi, beberapa callback dapat didaftarkan dan akan dipanggil setelah transaksi di-commit sesuai urutan pendaftarannya. Jika transaksi gagal, callback tidak akan dipanggil.

Jika callback menampilkan pengecualian, pengecualian akan ditampilkan secara normal. Ini berarti: Jika callback segera dipanggil, setiap pengecualian a yang ditampilkan akan segera muncul sebagai balon. Jika panggilan ditunda hingga di-commit, callback yang tersisa akan dilewati dan pengecualian akan ditampilkan melalui panggilan transaction(). (Namun, transaksi sudah di-commit pada saat tersebut.)

Argumen

callback
Fungsi callback. Fungsi callback ini tidak menggunakan parameter dan tidak menampilkan apa pun.
in_transaction()
Menampilkan True jika Konteks ini mewakili transaksi, atau False.

Metode Statis

default_cache_policy(key)
Pastikan variabel class _use_cache pada class model entity; jika ada, menampilkannya. Jika tidak, tampilkan None.
default_datastore_policy(key)
Pastikan variabel class _use_datastore pada class model entity; jika ada, menampilkannya. Jika tidak, tampilkan None.
default_memcache_policy(key)
Pastikan variabel class _use_memcache pada class model entity; jika ada, menampilkannya. Jika tidak, tampilkan None.
default_memcache_timeout_policy(key)
Pastikan variabel class _memcache_timeout pada class model entity; jika ada, menampilkannya. Jika tidak, tampilkan None.