
delayAsync. הפונקציה מקבלת מילי-שניות ומחזירה Promise שקורא ל-resolve מתוך setTimeout כשהזמן עבר. מייבאים אותה ומבצעים await של 3 שניות לפני החזרת המוצרים, כאילו השליפה ארוכה.memory-cache ומייבאים אותו כ-cache.cache.get('products') לא קיים, מבצעים את כל הסיפור הכבד: השהיה ושליפת המוצרים מהמסד. לאחר מכן מכניסים אותם עם cache.put, ומשך שמירה של שעה (אלף כפול 60 כפול 60).cache.get ולא את התוצאה ישירות, כך שבפעם הראשונה הערך נשלף ממסד הנתונים ונשמר, ובפעמים הבאות הוא כבר שם.הטקסט המלא של הדקות הראשונות בהרצאה «שימוש ב-Cache עבור טבלאות של MySQL» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
טוב, אז בואו נראה איך אנחנו יכולים לשלב את כל הקונספט הזה ב-Cash עם איזושהי מיני תוכנה שיש לנו פה של ה-Restful Service שבנינו בעבר.
יש לנו פה Restful Service שכל מה שהוא עושה הוא יודע להביא לי מוצרים. זה הדבר היחידי שהוא יודע לעשות. ומה שאני רוצה לעשות זה קודם כל איזושהי הדמיה כאילו שההבאה של המוצרים לוקחת זמן, כי היא לא באמת לוקחת זמן כרגע, כי אנחנו בדאטאבייס מקומי וגם אין פה הרבה מידע, אבל בואו נעשה הדמיה כזאת.
בואו נפתח פה איזושהי תיקייה טסטר כזאת, ובתוך התיקייה נפתח קובץ delay async, java סקריפטי כזה, ובתוכו אנחנו רוצים לבנות איזושהי פונקציה שעושה לנו delay function, delay delay async, תקבל מילי סקנדס, ועולה ותחזיר לנו promise שיש לו כמובן resolve reject שכל מה שהוא יעשה set timeout
ויש לנו פה איזושהי פונקציה והוא יריץ את זה למשך המילי סקנדס וברגע שהוא מסיים resolve רק פשוט תקרא לresolve זה הכל נחשוף החוצה את delay async וכעת אנחנו יכולים לבצע הדמיה כאילו שכל הסיפור הזה לוקח לנו הרבה זמן.
זאת אומרת שאנחנו יכולים לבוא בחזרה ולקרוא ל-wait האמת שאני צריך פה למעלה את delay async בואו נעלה פגיעה נלך לtester ו-delay async ואז יש לנו פונקציה delay שבואו ניתן לה שלוש שניות.
ומה שהיא תעשה היא פשוט תמתין כאן לפני שהיא תחזיר את המוצרים. זה בעצם הדמיה כאילו, וואלה, לקח לנו מינימום שלוש שניות להביא את המוצרים מהשרת.
אז בואו נריץ את התוכנית Node App, בואו ניגש ל-Postman, נרשום כאן שאנחנו רוצים HTTP/Localhost 3000 API Product, האמת הנה יש לנו את זה פה, send ואנחנו רואים שאנחנו תקועים שלוש שניות ואז אנחנו מקבלים את המענה.
שוב פעם, send, תקועים שלוש שניות. גם אם אנחנו ניקח את הדבר הזה לכל דפדפן שהוא, בואו נפתח רגע את חרום, נשים את זה פה, אנחנו רואים שחרום תקוע שלוש שניות ואז מביא לנו את המוצרים.
בואו נלך לאינטרנט אקספלורר ונראה ש... ולא משנה איזה דפדפן אנחנו גולשים, אנחנו תקועים את השלוש שניות ורק אז מקבלים את המוצרים. אינטרנט אקספלורר מציגה לנו את המידע בצורה כזאת מאיזושהי סיבה, בואו נעשה אופן, תודה, אף אחד עד היום לא יודע למה, אבל פיין.
ואנחנו רוצים לייעל את זה על ידי קאשינג. הדבר הראשון שאנחנו רוצים זה לבצע את ההתקנה. אז יש לנו npmi, יש לנו את memory cache, יופי הדבר הבא שאנחנו רוצים זה פה למעלה להגדיר קונסט קאש אוי אני רואה שהוא לא הצליח להתקין נפי אמ איי רשמתי
מומורי אוי ואבוי ממורי קאש גו אמור להיות בסדר עכשיו