מסמך זה תורגם על ידי בינה מלאכותית. לכל אי דיוק, אנא עיין בגרסה האנגלית
CacheManager מבוסס על node-cache-manager ומספק יכולות ניהול מודולי מטמון עבור NocoBase. סוגי המטמון המובנים הם:
ניתן לרשום ולהרחיב סוגים נוספים באמצעות ה-API.
Store: מגדיר שיטת שמירה במטמון, הכוללת שיטת יצרן (factory method) ליצירת מטמונים, ותצורות קשורות נוספות. לכל שיטת שמירה במטמון יש מזהה ייחודי המסופק בעת הרישום.
המזהים הייחודיים לשתי שיטות השמירה במטמון המובנות הם memory ו-redis.
שיטת יצרן (Factory Method) של Store: שיטה המסופקת על ידי node-cache-manager וחבילות הרחבה קשורות, המשמשת ליצירת מטמונים. לדוגמה, 'memory' המסופק כברירת מחדל על ידי node-cache-manager, ו-redisStore המסופק על ידי node-cache-manager-redis-yet. זוהי למעשה הפרמטר הראשון של שיטת caching ב-node-cache-manager.
Cache: מחלקה עטופה על ידי NocoBase, המספקת שיטות לשימוש במטמון. בעת שימוש בפועל במטמון, אתם פועלים על מופע של Cache. לכל מופע Cache יש מזהה ייחודי, שיכול לשמש כמרחב שמות (namespace) להבחנה בין מודולים שונים.
constructor()constructor(options?: CacheManagerOptions)| מאפיין | סוג | תיאור |
| -------------- | ------------------------------ | המזהה הייחודי של סוג המטמון ברירת המחדל. |
| defaultStore | string | רושם סוגי מטמון. המפתח הוא המזהה הייחודי של סוג המטמון, והערך הוא אובייקט המכיל את שיטת הרישום והתצורה הגלובלית עבור סוג המטמון.
ב-node-cache-manager, השיטה ליצירת מטמון היא await caching(store, config). האובייקט שיש לספק כאן הוא StoreOptions. |
| stores | Record<string, StoreOptions> |
| מאפיין | סוג | תיאור |
| --------------- | -------------------------------------- | שיטת יצרן (factory method) של ה-store, מתאימה לפרמטר הראשון של caching. |
| store | memory | FactoryStore<Store, any> | אופציונלי. עבור תוכנות ביניים (middleware) כמו Redis הדורשות חיבור, יש לספק שיטת קריאה חוזרת (callback) לסגירת החיבור. הפרמטר הקלט הוא האובייקט המוחזר על ידי שיטת היצרן של ה-store. |
| close | (store: Store) => Promise<void> | תצורות גלובליות נוספות של ה-store, מתאימות לפרמטר השני של caching. |
| [key: string] | any |
הפרמטר options ימוזג עם אפשרויות ברירת המחדל. ניתן להשמיט מאפיינים שכבר קיימים באפשרויות ברירת המחדל. לדוגמה:
registerStore()רושם שיטת שמירה במטמון חדשה. לדוגמה:
registerStore(options: { name: string } & StoreOptions)createCache()יוצר מטמון. לדוגמה:
createCache(options: { name: string; prefix?: string; store?: string; [key: string]: any }): Promise<Cache>| מאפיין | סוג | תיאור |
|---|---|---|
name | string | מזהה ייחודי עבור המטמון. |
store | string | מזהה ייחודי עבור ה-store. |
prefix | string | אופציונלי, קידומת למפתח המטמון. |
[key: string] | any | פריטי תצורה מותאמים אישית נוספים הקשורים ל-store. |
אם store מושמט, ייעשה שימוש ב-defaultStore. במקרה זה, שיטת השמירה במטמון תשתנה בהתאם לשיטת השמירה במטמון המוגדרת כברירת מחדל של המערכת.
כאשר אין תצורות מותאמות אישית, יוחזר מרחב המטמון ברירת המחדל שנוצר על ידי התצורה הגלובלית ומשותף לשיטת השמירה במטמון הנוכחית. מומלץ להוסיף prefix כדי למנוע התנגשויות מפתחות.
ראו Cache
getCache()מקבל את המטמון המתאים.
getCache(name: string): CacheflushAll()מאפס את כל המטמונים.
close()סוגר את כל חיבורי תוכנות הביניים (middleware) של המטמון.