אפליקציה יכולה להשתמש בהקשר כדי לשלוט במדיניות השמירה שלה במטמון.
Context מציע גם ממשקי API נוחים ואסינכרוניים ל-Memcache ול-URL Fetch שמשולבים ביכולות האסינכרוניות של NDB. בפרט, Memcache API תומך באגירת נתונים אוטומטית.
- שיטות של מופע לניהול מטמון
- Memcache ושיטות של מופע Urlfetch
- שיטות לניהול עסקאות
- Static Methods
שיטות של מופע לניהול מטמון
- clear_cache()
- מחיקת המטמון בהקשר.
- flush()
- מרוקנים את כל התורים של הכלי ליצירת חבילות אוטומטיות (שליחת העבודה שלהם לשרתים).
הריקון מתבצע באופן אסינכרוני.
הפונקציה מחזירה
Future. כדי להמתין עד שהניקוי יסתיים, צריך לקרוא לשיטתwait()של האובייקט הזה. - get_cache_policy()
- מחזירה את פונקציית מדיניות המטמון.
פונקציית המדיניות הזו מקבלת ארגומנט של מופע Key ומחזירה
boolשמציין אם הישות עם המפתח הזה צריכה להיכלל במטמון בהקשר. יכול להיותNone(כלומר, שימושdefault_cache_policy). - get_datastore_policy()
- מחזירה את פונקציית המדיניות של מאגר הנתונים של ההקשר הנוכחי.
פונקציית המדיניות הזו מקבלת ארגומנט של מופע Key ומחזירה
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
רשימה מלאה של רכיבי ה-method מופיעה במאמרי העזרה של Memcache API. ברשימה שלמטה מפורטות כמה מהשיטות הנפוצות ביותר:
- 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 מעלה חריג, הוא עולה כרגיל. המשמעות היא: אם הקריאה החוזרת מופעלת באופן מיידי, כל חריגה שהיא מעלה תועבר באופן מיידי. אם השיחה נדחית עד לביצוע commit, ה-callbacks שנותרו ידלגו והחריגה תעלה דרך השיחה
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.