התמודד עם Redis ולמד כיצד לבצע אופטימיזציה של אפליקציות ה-Node שלך עם מאגר הנתונים העוצמתי הזה.
כשאתה בונה אפליקציית אינטרנט, עליך לוודא שהיא ניתנת להרחבה ויעילה. כדי לעשות זאת, תצטרך לקחת בחשבון מספר עקרונות ומושגים.
Redis היא אחת מהטכנולוגיות הרבות שיכולות לעזור לשפר את ביצועי יישומי האינטרנט שלך. הוא מציע תכונות יוצאות דופן שבהן אתה יכול להשתמש כדי לשפר את הביצועים של כל אפליקציית אינטרנט.
אז מה זה בעצם Redis ואיך אתה יכול להתחיל להשתמש בו עם יישומי האינטרנט של Node.js?
מה זה Redis, ומתי כדאי להשתמש בו?
Redis הוא מאגר נתונים בקוד פתוח, בזיכרון ובעל ערך מפתח. זוהי טכנולוגיה גמישה שיכולה לשמש כתור עבודה, מסד נתונים, מטמון, מנהל הפעלות, מתווך הודעות ועוד.
השילוב של המהירות, הרבגוניות וקלות השימוש של Redis הופכים אותו לכלי בעל ערך רב באקוסיסטם של מפתחי התוכנה.
מתי כדאי להשתמש ב- Redis?
Redis מתאימה היטב למשימות רבות, אך עליך להקפיד להשתמש בה רק כאשר הגיוני לעשות זאת.
כדאי לשקול להשתמש ב- Redis בתרחישים הבאים:
- שמירה במטמון: Redis היא הדרך הפופולרית ביותר ליישם מטמון כדי לסייע במניעת עומס על מסדי נתונים ולשפר את הביצועים הכוללים.
- ניהול מפגשים: אחסון וניהול הפעלות של משתמשים לצורך אימות וניהול מצב קל מאוד עם Redis.
- אחסון נתונים זמני: Redis מאפשר לך לאחסן נתונים ולמחוק אותם באופן אוטומטי לאחר פרק זמן מסוים. זה הופך אותו לכלי טוב לאחסון נתונים זמניים כגון אסימוני אינטרנט של JSON, תורי עבודה, וכו.
מקרים אחרים שכדאי לשקול להשתמש בהם ב- Redis כוללים הטמעת מתווך הודעות, אופטימיזציה פעולות מסד נתונים, ואפילו אחסון וגישה יעילה למבני נתונים כמו רשימות, סטים ו חשיש.
כיצד להשתמש ב-Redis עם Node.js
Node.js היא טכנולוגיה פופולרית לבניית אפליקציות יעילות וניתנות להרחבה בצד השרת. אתה יכול להשתמש בו בשילוב עם טכנולוגיות תומכות כמו Redis כדי להשיג ביצועים גבוהים ומדרגיות.
Redis תומך במספר שפות. אתה יכול להשתמש בזה לאחסון נתונים ב-PHP ו יש לקוחות Redis מצוינים עבור גולנג. שני לקוחות Redis הפופולריים ביותר עבור Node.js הם node-redis ו ioredis.
שתי החבילות זמינות דרך npm והם קלים לשימוש. ההבדל העיקרי הוא זה node-redis הוא הלקוח הרשמי, בעוד שהקהילה ממליצה ioredis.
מתחבר ל-Redis מ-Node.js
כדי להתחיל, עליך להתקין את Redis במחשב שלך ולהגדיר סביבת פיתוח של Node.js. עיין במדריך ההתקנה על Redis.io כדי להתקין Redis ב-Linux, macOS ו-Windows.
עליך להתקין את Redis הלקוח ה-SDK המועדף עליך בפרויקט שלך כדי שתוכל להתחבר ל-Redis. בהתאם להעדפה שלך (אנחנו נשתמש node-redis), הפעל אחת מהפקודות למטה כדי להתקין את לקוח Redis:
npm התקן redis --שמור
npm התקן את ioredis --שמור
הפקודה הראשונה מותקנת node-redis, בעוד השני מותקן ioredis.
כדי להגדיר את הלקוח החדש שהותקן, עליך לוודא ש-Redis פועל. אתה יכול לעשות זאת פשוט על ידי התחלה redis-cli בטרמינל שלך:
ה פינג הפקודה מצלצלת לשרת כדי לאשר שהוא פועל, וא פונג תגובה ב-CLI פירושה שהשרת עובד בסדר. כעת צור א redis.js קובץ בפרויקט ה-Node שלך וכתוב בו את הקוד הבא כדי להגדיר את Redis:
const redis = לִדרוֹשׁ("redis")
// אתחול באמצעות תצורת ברירת המחדל
const RedisClient = redis.createClient()const connectRedis = אסינכרון () => {
// התחבר ל-redis
לְהַמתִין RedisClient.connect()// לטפל בשגיאה
RedisClient.on('שְׁגִיאָה', (שגיאה) => {
לְנַחֵם.שְׁגִיאָה(`אירעה שגיאה עם Redis: ${err}`)
})
לְנַחֵם.עֵץ('Redis התחבר בהצלחה...')
}
הקוד למעלה מאתחל לקוח Redis חדש באפליקציה. ה createClient הפונקציה של חבילת redis מאפשרת לך ליצור לקוח באמצעות הפרמטרים שציינת.
אתה יכול לציין את המארח, היציאה, שם המשתמש, הסיסמה או מחרוזת החיבור שלך, או להשתמש בערכי ברירת המחדל. לדוגמה, node-redis יתחיל לפעול על localhost, על יציאה 6379, כברירת מחדל.
הנה כמה דרכים שבהן תוכל להשתמש ב- createClient פוּנקצִיָה:
// באמצעות מחרוזת חיבור
const RedisClient = redis.createClient("rediss://127.0.0.1:6379")
// באמצעות אובייקט פרמטר
const RedisClient = redis.createClient({
שקע: {
מנחה: "127.0.0.1",
נמל: "6379"
},
שם משתמש: "שם המשתמש שלך redis",
סיסמה: "הסיסמה שלך"
})
השתמש במופעי Redis מאובטחים בייצור. כאשר זה המקרה, יש לך מאובטח כתובת אתר מחרוזת לחיבור או השתמש בפרמטרים המוצגים למעלה. מה שלא יהיה, זכור תמיד לשמור אישורים מחוץ לקוד, והשתמש במשתני סביבה במקום זאת.
ביצוע פעולות Redis בסיסיות ב-Node.js
הקוד הבא מתחבר ל-Redis באמצעות connectRedis פונקציה למעלה ומדגימה כמה פעולות בסיסיות שתוכל לבצע ב-Redis מיישומי ה-Node שלך.
const testRedis = אסינכרון () => {
לְהַמתִין connectRedis()// הגדר ואחזר ערך
לְהַמתִין RedisClient.set("שֵׁם", "טימי")
const getCommand = לְהַמתִין RedisClient.get("שֵׁם")
לְנַחֵם.log (getCommand)// מחק ערכים באופן מיידי או תזמן את תוקפם
// תוך מספר שניות
לְהַמתִין RedisClient.del("שֵׁם");
לְהַמתִין RedisClient.setEx("מקום", 60, "לאגוס")// דחף לחלק הקדמי או האחורי של רשימה
לְהַמתִין RedisClient.lPush("ימים", "יוֹם שֵׁנִי")
לְהַמתִין RedisClient.rPush("ימים", "יוֹם שְׁלִישִׁי")
לְהַמתִין RedisClient.lPush("ימים", "יום רביעי")
const daysArray = לְהַמתִין RedisClient.lRange("ימים", 0, -1)
// מדפיס [ 'רביעי', 'שני', 'יום שלישי' ]
לְנַחֵם.log (daysArray)// הסר פריט מהחלק האחורי או מלפנים של רשימה
לְהַמתִין RedisClient.rPop("ימים")
לְהַמתִין RedisClient.lPop("ימים")
const newDaysArray = לְהַמתִין RedisClient.lRange("ימים", 0, -1)
// מדפיס [ 'יום שני' ]
לְנַחֵם.log (newDaysArray)
}
testRedis()
שימו לב לשימוש ב אסינכרון ו לְהַמתִין כאן. הסיבה לכך היא שכל הפונקציות פועלות באופן אסינכרוני ומחזירות הבטחות, כך שאם אתה צריך את התוצאות שלהן באופן מיידי, חשוב לְהַמתִין אוֹתָם.
הקוד לעיל מציג רק כמה פעולות בסיסיות שתוכל לבצע ב-Redis מיישום Node.js. יש עוד הרבה פקודות ומושגים ששווה להסתכל עליהם.
ה Redis Commands סעיף ב-README שנמצא ב- של node-redisGitHub מאגר הוא מקום טוב למצוא בו את כל הפקודות האחרות ומה הן עושות.
השתמש ב-Redis כדי לבנות יישומים יעילים
ניצול הכוח של Redis מאפשר לך, כמפתח, לבנות יישומים יעילים ביותר בצד השרת. עם אחסון הנתונים בזיכרון של Redis ומבני נתונים ופקודות נרחבים, יישומים יכולים להשיג מיטוב ביצועים יוצא דופן.
אתה בהחלט צריך לשקול לשלב את Redis באפליקציית Node.js הבאה שלך כדי להעלות את ביצועי האפליקציה שלך ולספק חווית משתמש טובה יותר.