דלג לתוכן הראשידלג לצור קשר
    פרק 2 מתוך 20 · 3.4
    דברים שוייב קודינג לא ילמד אתכם

    מטמון — Caching

    למה שומרים חלב במקרר ולא הולכים לסופר כל 5 דקות

    פרק 2 / 20

    אודות הפרק

    איך שומרים תוצאות כדי שלא נצטרך לחשב אותן מחדש כל פעם.

    הבעיה: הולכים לסופר כל 5 דקות

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

    הפתרון: שמים במקרר

    מטמון (Caching) זה בדיוק כמו מקרר. קונים חלב פעם אחת, שמים במקרר. במקום ללכת לסופר כל פעם שרוצים קפה — פשוט פותחים את המקרר. באפליקציה — שומרים את התוצאה בזיכרון. כל מי שנכנס אחר כך מקבל את זה ישר, בלי לגעת במסד הנתונים.

    ההבדל? במקום 200 מילישניות — שתיים. פי מאה יותר מהיר.

    הצד השני: מתי המטמון מתיישן?

    אם שיניתם מחיר למוצר והמטמון עדיין מחזיק את המחיר הישן — הלקוח רואה מחיר אחד, משלם אחר, ואתם בבעיה. לכן קובעים תוקף — TTL (Time To Live). בדיוק כמו תאריך תפוגה על חלב. אחרי שהתוקף נגמר — הולכים לסופר מחדש.

    טיפ: בפעם הבאה שהאפליקציה שלכם איטית — לפני שאתם משדרגים שרת, תבדקו אם אתם הולכים לסופר כל חמש דקות.

    "מטמון בלי TTL זה חלב בלי תאריך תפוגה — מתישהו מישהו יקבל מחיר ישן ואתם בבעיה."

    כל הפרקים

    מערכת תורים — Message Queue
    תור בדואר ישראל
    27.3
    1
    מטמון — Caching
    למה שומרים חלב במקרר ולא הולכים לסופר כל 5 דקות
    3.4
    2
    הגבלת קצב — Rate Limiting
    סדרן בכניסה למועדון
    10.4
    3
    אינדקסים במסד נתונים — Database Indexing
    תוכן עניינים בספר של 10,000 עמודים
    17.4
    4
    ניהול שגיאות וניסיונות חוזרים — Retry Logic
    GPS שמחשב מסלול מחדש
    24.4
    5
    אימות מול הרשאות — Auth vs AuthZ
    תעודת זהות מול כרטיס VIP
    1.5
    6
    משתני סביבה — Environment Variables
    למה לא כותבים את הסיסמה על הדלת
    8.5
    7
    מיגרציות — Database Migrations
    שיפוץ דירה בזמן שגרים בה
    15.5
    8
    איזון עומסים — Load Balancing
    קופות בסופר — למה לא פותחים רק אחת
    22.5
    9
    Webhooks
    ההבדל בין לבדוק כל 5 דקות אם הפיצה הגיעה לבין שהשליח מתקשר
    29.5
    10
    עסקאות — Transactions
    למה לא מעבירים כסף בלי לוודא שהצד השני קיבל
    5.6
    11
    Idempotency
    למה לחיצה כפולה על "שלם" לא צריכה לחייב פעמיים
    12.6
    12
    תנאי מירוץ — Race Conditions
    שני אנשים שמתיישבים על אותו כיסא באותו רגע
    19.6
    13
    לוגים וניטור — Logging & Monitoring
    מצלמות אבטחה לקוד שלכם
    26.6
    14
    CI/CD
    פס ייצור במפעל — לא שולחים מוצר בלי בדיקת איכות
    3.7
    15
    CORS
    למה השכן לא יכול להיכנס לדירה שלכם עם המפתח שלו
    10.7
    16
    SQL Injection
    מה קורה כשכותבים קוד בתוך שדה "שם משתמש"
    17.7
    17
    Background Jobs
    למה המלצר לא מבשל לכם את האוכל בעצמו
    24.7
    18
    מיקרוסרביסים מול מונוליט
    מסעדה ענקית אחת מול פוד קורט
    31.7
    19
    DNS ודומיינים
    ספר הטלפונים של האינטרנט
    7.8
    20

    נהנים מהסדרה?

    עקבו לתכנים נוספים על AI וטכנולוגיה