הקדמה
Redis הוא אחסון נתונים מטמון מקור פתוח בזיכרון. ל־Redis יש מספר פקודות שמאפשרות לך לבצע שינויים בהגדרות התצורה של שרת Redis במהלך הריצה. במדריך זה נדון בכמה מתוך הפקודות אלו, וגם נסביר כיצד להפוך את השינויים בהגדרות לקבעיים.
איך להשתמש במדריך זה
המדריך הוא כתוב כגיליון הוראות עם דוגמאות עצמאיות. אנו ממליצים לך לקפוץ לכל סעיף הרלוונטי למשימה שאתה מנסה להשלים.
הפקודות המוצגות במדריך זה נבדקו על שרת Ubuntu 22.04 הרץ את גרסת Redis 6.0.16. כדי להגדיר סביבה דומה, ניתן לעקוב אחרי שלב 1 של המדריך שלנו על איך להתקין ולאבטח את Redis על Ubuntu 22.04. נדגים כיצד הפקודות הללו מתנהגות על ידי הרצתן בעזרת redis-cli
, ממשק השורת פקודה של Redis. אם אתה משתמש בממשק Redis אחר — Redli, לדוגמה — הפלט המדוייק של פקודות מסוימות עשוי להשתנות.
באופן אלטרנטיבי, תוכל להקצות מופע מסד נתונים Redis מנוהל כדי לבדוק את הפקודות הללו, אך בהתבסס על רמת השליטה שניתנת על ידי ספק המסד נתונים שלך, ייתכן שחלק מהפקודות במדריך זה לא יעבדו כפי שתואר. כדי להקצות מסד נתונים מנוהל של DigitalOcean, עקוב אחרי התיעוד של המוצר במסדי נתונים מנוהלים. לאחר מכן, עליך להתקין את Redli או להגדיר טונל TLS כדי להתחבר למסד הנתונים המנוהל דרך TLS.
שים לב שמסדי נתונים מנוהלים של Redis לרוב אינם מאפשרים למשתמשים לשנות את קובץ התצורה. אם אתה עובד עם מסד נתונים מנוהל מ-DigitalOcean, הפקודות שמופיעות במדריך זה יובילו לשגיאות.
שינוי התצורה של Redis
הפקודות שמופיעות בסעיף זה ישנו את התנהגות שרת ה-Redis למשך הסשן הנוכחי, או עד שתריץ את config rewrite
, שיעשה אותם קבועים. תוכל לשנות את קובץ התצורה של Redis ישירות על ידי פתיחה ועריכה שלו בעורך טקסט המועדף עליך. לדוגמה, תוכל להשתמש ב-nano
כדי לעשות זאת:
- sudo nano /etc/redis/redis.conf
אזהרה: פקודת config set
נחשבת כמסוכנת. על ידי שינוי קובץ התצורה של Redis, ייתכן כי תגרום לשרת Redis שלך להתנהג בדרכים בלתי צפויות או לא רצויות. אנו ממליצים לך להריץ את פקודת config set
רק אם אתה בודק את ההתנהגות שלה או אם אתה בטוח לחלוטין שאתה רוצה לבצע שינויים בהגדרות התצורה שלך ב־Redis.
ייתכן שיהיה בתועלתך לשנות את שם הפקודה למשהו עם סיכוי נמוך יותר להתפעל בטעות.
config set
מאפשר לך להגדיר מחדש את Redis בזמן ריצה מבלי לצטרך לאתחל את השירות. הוא משתמש בתחביר הבא:
- config set parameter value
לדוגמה, אם ברצונך לשנות את שם קובץ ה־dump של מסד הנתונים של Redis שיוצר לאחר שתריץ פקודת save
, ייתכן כי תריץ פקודה כמו זו:
- config set "dbfilename" "new_file.rdb"
אם שינוי התצורה תקין, הפקודה תחזיר OK
. במקרה אחר, היא תחזיר שגיאה.
שימו לב: לא כל פרמטר בקובץ התצורה של redis.conf
ניתן לשינוי באמצעות פעולת config set
. לדוגמה, אי אפשר לשנות את הסיסמה לאימות שהוגדרה על ידי פרמטר ה־requirepass
.
הפיכת שינויי התצורה לקבועים
config set
לא משנה את קובץ התצורה של Redis באופן קבוע; הוא משנה רק את ההתנהגות של Redis בזמן ריצה. כדי לערוך את redis.conf
לאחר ביצוע פקודת config-set
ולהפוך את התצורה של המהלך הנוכחי לקבועה, רוץ את config rewrite
:
- config rewrite
הפקודה זו מעדיפה לשמור על ההערות והמבנה הכללי של קובץ ה-redis.conf
המקורי, עם שינויים מינימליים רק כדי להתאים להגדרות שבשימוש כרגע על ידי השרת.
כמו config set
, אם ההפקודה לשינוי הוצלחה, config rewrite
תחזיר OK
.
בדיקת התצורה של Redis
כדי לקרוא את הפרמטרים הנוכחיים של תצורת שרת Redis, הריץ את הפקודה config get
. config get
מקבלת ארגומנט יחיד, שיכול להיות התאמה מדויקת של פרמטר השימוש ב-redis.conf
או תבנית גלוב. לדוגמה:
- config get repl*
התלוי בהגדרת ה-Redis שלך, הפקודה תחזיר משהו דומה לדוגמה הבאה:
Output 1) "repl-ping-slave-period"
2) "10"
3) "repl-timeout"
4) "60"
5) "repl-backlog-size"
6) "1048576"
7) "repl-backlog-ttl"
8) "3600"
9) "repl-diskless-sync-delay"
10) "5"
11) "repl-disable-tcp-nodelay"
12) "no"
13) "repl-diskless-sync"
14) "no"
באפשרותך גם לקבל את כל פרמטרי התצורה התומכים ב-config set
על ידי הרצת config get *
.
סיכום
מדריך זה מפרט את הפקודות redis-cli
השימושיות לביצוע שינויים בקובץ התצורה של שרת Redis. אם ישנן פקודות, ארגומנטים או פעולות נוספות הקשורות שתרצה לדעת עליהן במסגרת זו, אני פה לעזור – תשאל או תציע הערות בתחום.
למידע נוסף על פקודות Redis, ניתן לבדוק את סדר ההדרכה שלנו בנושא איך לנהל מסד נתונים של Redis.
Source:
https://www.digitalocean.com/community/cheatsheets/how-to-change-redis-configuration