מחלקת הקשר של NDB

אפליקציה יכולה להשתמש בהקשר כדי לשלוט במדיניות השמירה שלה במטמון. ‫Context מציעה גם ממשקי API נוחים ואסינכרוניים ל-Memcache ול-URL Fetch שמשולבים ביכולות האסינכרוניות של NDB. בפרט, Memcache API תומך באוטומציה של יצירת חבילות (batching).

Cache Management Instance Methods

clear_cache()
מחיקת המטמון בהקשר.
flush()
מרוקנים את כל התורים של הכלי ליצירת חבילות אוטומטיות (שליחת העבודה שלהם לשרתים). הפעולה מתבצעת באופן אסינכרוני.

מחזירה Future. כדי להמתין עד לסיום הריקון, צריך לקרוא לשיטה wait() של האובייקט הזה.

get_cache_policy()
מחזירה את פונקציית מדיניות המטמון. פונקציית המדיניות הזו מקבלת ארגומנט של מופע Key ומחזירה bool שמציין אם הישות עם המפתח הזה צריכה להיכלל במטמון בהקשר. יכול להיות None (כלומר, שימוש ב- default_cache_policy).
get_datastore_policy()
הפונקציה מחזירה את פונקציית המדיניות של מאגר הנתונים של ההקשר הנוכחי. פונקציית המדיניות הזו מקבלת ארגומנט של מופע Key ומחזירה bool שמציין אם צריך להשתמש ב-Datastore. יכול להיות None (כלומר, שימוש ב- default_datastore_policy).
get_memcache_policy()
Returns the current memcache policy function. פונקציית המדיניות הזו מקבלת ארגומנט של מופע 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 כדי לציין אם יש לאחסן את הישות עם המפתח הזה ב-Datastore הקבוע. יכול להיות שהערך יהיה None.
set_memcache_policy(func)
מגדיר את פונקציית המדיניות של memcache.

ארגומנטים

func
הפונקציה הזו מקבלת ארגומנט של מופע Key ומחזירה את הערך bool שמציין אם יש לשמור במטמון את הישות עם המפתח הזה במטמון שבתוך ההקשר. יכול להיות None.
set_memcache_timeout_policy(func)
מגדירה את פונקציית מדיניות הזמן הקצוב לתפוגה של memcache.

ארגומנטים

func
This function takes a Key instance argument and returns the desired memcache timeout in seconds (or returns zero to use the default timeout). יכול להיות None.

שיטות של מופעים ב-Memcache וב-Urlfetch

רשימה מלאה של רכיבי ה-method מופיעה ב הפניית API של Memcache. ברשימה שלמטה מפורטות כמה מהשיטות הנפוצות ביותר:

memcache_add(key, value, time, namespace)
Async auto-batching memcache add().
memcache_cas(key, value, time, namespace)
Async auto-batching memcache Client cas() (compare-and-swap).
memcache_decr(key, delta, initial_value, namespace)
Async auto-batching memcache decr().
memcache_delete(key, seconds, namespace)
Async auto-batching memcache delete().
memcache_get(key, namespace, use_cache)
Async auto-batching memcache get().

הפונקציה מחזירה Future שהערך המוחזר שלה הוא הערך שנשלף מ-memcache או None.

memcache_gets(key, namespace, use_cache)
Async auto-batching memcache gets().
memcache_incr(key, delta, initial_value, namespace)
Async auto-batching memcache incr().
memcache_replace(key, value, time, namespace)
Async auto-batching memcache replace().
memcache_set(key, value, time, namespace, use_cache)
Async auto-batching memcache set().
urlfetch(url, payload, method, headers, allow_truncated, follow_redirects, validate_certificate, deadline, callback)
Async auto-batching urlfetch fetch().

שיטות לניהול עסקאות

call_on_commit(callback)
Queues a callback to call upon successful commit of a transaction.

אם לא מדובר בעסקה, מתבצעת קריאה חוזרת באופן מיידי.

בעסקה, יכול להיות שיירשמו כמה קריאות חוזרות, והן יופעלו ברגע שהעסקה תאושר, בסדר שבו הן נרשמו. אם העסקה תיכשל, הקריאות החוזרות לא יופעלו.

אם פונקציית ה-callback מעלה חריגה, היא תועבר כרגיל. המשמעות היא: אם פונקציית ה-callback נקראת באופן מיידי, כל חריגה שהיא מעלה תועבר באופן מיידי. אם הקריאה נדחית עד לביצוע commit, המערכת תדלג על פונקציות ה-callback שנותרו והחריגה תועבר דרך הקריאה transaction(). (עם זאת, הטרנזקציה כבר בוצעה בשלב הזה).

ארגומנטים

callback
פונקציית קריאה חוזרת. פונקציית הקריאה החוזרת הזו לא מקבלת פרמטרים ולא מחזירה כלום.
in_transaction()
Returns True if this Context represents a transaction, False otherwise.

שיטות סטטיות

default_cache_policy(key)
Checks for a _use_cache class variable on the entity's model class; if there is one, return it. אחרת, מוחזר הערך None.
default_datastore_policy(key)
Checks for a _use_datastore class variable on the entity's model class; if there is one, return it. אחרת, מוחזר הערך None.
default_memcache_policy(key)
Checks for a _use_memcache class variable on the entity's model class; if there is one, return it. אחרת, מוחזר הערך None.
default_memcache_timeout_policy(key)
Checks for a _memcache_timeout class variable on the entity's model class; if there is one, return it. אחרת, מוחזר הערך None.