אפליקציה יכולה להשתמש בהקשר כדי לשלוט במדיניות השמירה שלה במטמון.
Context מציעה גם ממשקי API נוחים ואסינכרוניים ל-Memcache ול-URL Fetch שמשולבים ביכולות האסינכרוניות של NDB. בפרט, Memcache API תומך באוטומציה של יצירת חבילות (batching).
- שיטות של מופע לניהול מטמון
- Memcache ושיטות של מופע Urlfetch
- שיטות לניהול עסקאות
- Static Methods
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
Keyinstance 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
Clientcas()(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
Trueif this Context represents a transaction,Falseotherwise.
שיטות סטטיות
- default_cache_policy(key)
- Checks for a
_use_cacheclass variable on the entity's model class; if there is one, return it. אחרת, מוחזר הערךNone. - default_datastore_policy(key)
- Checks for a
_use_datastoreclass variable on the entity's model class; if there is one, return it. אחרת, מוחזר הערךNone. - default_memcache_policy(key)
- Checks for a
_use_memcacheclass variable on the entity's model class; if there is one, return it. אחרת, מוחזר הערךNone. - default_memcache_timeout_policy(key)
- Checks for a
_memcache_timeoutclass variable on the entity's model class; if there is one, return it. אחרת, מוחזר הערךNone.