Cache Inspector (לוח בקרה של Redis)
מה זה Cache Inspector?
Cache Inspector הוא כלי אדמין שמאפשר לצפות ולנהל את ה-Redis cache בצורה בטוחה. הכלי נותן נראות ל:
סטטיסטיקות Redis (זיכרון, Hit Rate, מספר מפתחות)
חיפוש מפתחות לפי תבנית
צפייה ב-TTL וסטטוס
מחיקת מפתחות בצורה מבוקרת
למה צריך את זה?
ניטור ביצועים: מעקב אחר צריכת זיכרון ו-Hit Rate של ה-cache
איתור בעיות: זיהוי מפתחות שתופסים יותר מדי מקום או בעלי TTL לא נכון
ניקוי ידני: מחיקת מפתחות ספציפיים כשצריך לרענן cache
דיבוג: הבנת מה נמצא ב-cache ברגע נתון
איך נכנסים?
דרך ה-UI:
כנסו לדף Settings (הגדרות)
גללו לקטגוריית כלי אדמין
לחצו על Cache Inspector
ישירות:
GET /admin/cache-inspector
הערה
הדף זמין רק לאדמינים. משתמשים ללא הרשאות יקבלו שגיאת 403.
יכולות עיקריות
סטטיסטיקות כלליות
בראש הדף מוצגות הסטטיסטיקות הבאות:
מטריקה |
תיאור |
|---|---|
Memory |
כמות הזיכרון בשימוש (למשל |
Hit Rate |
אחוז הפגיעות ב-cache (ככל שגבוה יותר, טוב יותר) |
Total Keys |
מספר המפתחות הכולל ב-Redis |
Connected Clients |
מספר הלקוחות המחוברים כרגע |
Hits / Misses |
מספר הפגיעות והחטאות מאז עליית Redis |
Uptime |
זמן פעילות Redis |
חיפוש מפתחות
ניתן לחפש מפתחות לפי תבנית (Pattern):
*- כל המפתחותuser:*- כל המפתחות שמתחילים ב-user:*:settings- כל המפתחות שמסתיימים ב-:settingsfile:123:*- כל המפתחות של קובץ ספציפי
אזהרה
החיפוש משתמש בפקודת SCAN ולא ב-KEYS כדי למנוע חסימת Redis. המשמעות: חיפוש בטוח גם ב-Redis עם מיליוני מפתחות.
מגבלת תוצאות: ניתן להגדיר כמה מפתחות להציג (עד 500 לדף).
הצגת TTL וסטטוס
לכל מפתח מוצג סטטוס צבעוני:
סטטוס |
צבע |
משמעות |
|---|---|---|
Active |
ירוק |
מפתח פעיל עם TTL גדול מדקה |
Expiring |
כתום |
יפוג תוך דקה או פחות |
Persistent |
כחול |
ללא TTL (לא יפוג אוטומטית) |
Expired |
אדום |
פג תוקף / לא קיים |
פעולות מחיקה
מחיקת מפתח בודד:
לחיצה על כפתור המחיקה ליד מפתח ספציפי.
מחיקת תבנית:
הזנת תבנית בשדה החיפוש ולחיצה על ”מחק תבנית“.
אזהרה
לא ניתן למחוק * או ** דרך תבנית - יש להשתמש ב-Clear All.
Clear All (ניקוי מלא):
מחיקת כל המפתחות ב-Redis. פעולה זו דורשת:
לחיצה על כפתור ”Clear All“
אישור ב-Modal
שליחת
confirm: trueב-API
אבטחה ובטיחות
הגנת הרשאות
הדף והפעולות דורשים הרשאת Admin
משתמשים רגילים מקבלים 403 Forbidden
בדיקת ההרשאות מתבצעת בצד השרת
הסתרת מידע רגיש (Masking)
מפתחות שמכילים את אחת מהתבניות הבאות לא יציגו את הערך שלהם:
session:token:auth:secret:password:credential:api_key:
במקום הערך יוצג: [SENSITIVE - HIDDEN]
session:abc123 → [SENSITIVE - HIDDEN]
user:settings → {"theme": "dark", ...}
שימוש ב-SCAN במקום KEYS
כל פעולות החיפוש והמחיקה משתמשות בפקודת SCAN של Redis. זה מבטיח:
לא חוסם את Redis גם עם מיליוני מפתחות
פעולה מבוקרת עם
count=100בכל איטרציההגנה על ביצועי המערכת
תקציב זמן למחיקות
פעולות מחיקה מוגבלות בזמן כדי למנוע תקיעה:
מחיקת תבנית: מוגבל ל-
CACHE_DELETE_PATTERN_BUDGET_SECONDS(ברירת מחדל: 5 שניות)Clear All: מוגבל ל-
CACHE_CLEAR_BUDGET_SECONDS(ברירת מחדל: 5 שניות)
API Endpoints
הממשק כולל את ה-APIs הבאים:
Method |
Endpoint |
תיאור |
|---|---|---|
|
|
דף ה-Inspector (HTML) |
|
|
מחיקת מפתח/תבנית |
|
|
ניקוי כל ה-cache |
|
|
פרטים מלאים על מפתח |
|
|
סטטיסטיקות (ציבורי למוניטורינג) |
דוגמאות API
מחיקת מפתח בודד:
curl -X POST /admin/cache-inspector/delete \
-H "Content-Type: application/json" \
-d '{"key": "user:123:settings"}'
מחיקת תבנית:
curl -X POST /admin/cache-inspector/delete \
-H "Content-Type: application/json" \
-d '{"pattern": "temp:*"}'
ניקוי מלא:
curl -X POST /admin/cache-inspector/clear-all \
-H "Content-Type: application/json" \
-d '{"confirm": true}'
סטטיסטיקות:
curl /api/cache/stats
תקלות נפוצות
Redis מושבת
אם Redis לא זמין או לא מוגדר:
הדף מציג
N/Aבכל השדותמוצגת הודעת אזהרה:
Redis is disabledפעולות מחיקה לא זמינות
פתרון: ודאו ש-REDIS_URL מוגדר ו-CACHE_ENABLED=true
אין הרשאות
אם מקבלים שגיאת 403:
ודאו שאתם מחוברים למערכת
ודאו שה-User ID שלכם ברשימת
ADMIN_USER_IDS
פתרון: הוסיפו את ה-Telegram User ID שלכם למשתנה ADMIN_USER_IDS
חיפוש איטי
אם החיפוש לוקח זמן רב:
הקטינו את מגבלת התוצאות (limit)
השתמשו בתבנית ספציפית יותר (למשל
user:123:*במקום*)
משתני סביבה רלוונטיים
משתנה |
תיאור |
|---|---|
|
כתובת החיבור ל-Redis |
|
הפעלת cache ( |
|
תקציב זמן לניקוי cache (ברירת מחדל: 5) |
|
תקציב זמן למחיקת תבנית (ברירת מחדל: 5) |
|
רשימת User IDs עם הרשאות אדמין |
ראו גם
Caching & HTTP Validators (ETag / Last-Modified / 304) – מדריך ל-HTTP Caching
מערכת Caching מתקדמת עם TTL דינמי – אסטרטגיות cache מתקדמות
משתני סביבה - רפרנס – רשימת משתני סביבה מלאה
Background Jobs Monitor – מוניטור Jobs ברקע