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
- Metode Instance Memcache dan Urlfetch
- Metode Pengelolaan Transaksi
- Metode Statis
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 metodewait()
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. MungkinNone
(artinya gunakandefault_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. MungkinNone
(artinya gunakandefault_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. MungkinNone
(artinya gunakandefault_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 menggunakandefault_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. MungkinNone
.
- 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. MungkinNone
.
- 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. MungkinNone
.
- 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). MungkinNone
.
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 atauNone
. - 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, atauFalse
.
Metode Statis
- default_cache_policy(key)
- Pastikan variabel class
_use_cache
pada class model entity; jika ada, menampilkannya. Jika tidak, tampilkanNone
. - default_datastore_policy(key)
- Pastikan variabel class
_use_datastore
pada class model entity; jika ada, menampilkannya. Jika tidak, tampilkanNone
. - default_memcache_policy(key)
- Pastikan variabel class
_use_memcache
pada class model entity; jika ada, menampilkannya. Jika tidak, tampilkanNone
. - default_memcache_timeout_policy(key)
- Pastikan variabel class
_memcache_timeout
pada class model entity; jika ada, menampilkannya. Jika tidak, tampilkanNone
.