איך לשנות את התצורה של Redis מהשורת פקודה

הקדמה

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 כדי לעשות זאת:

  1. sudo nano /etc/redis/redis.conf

אזהרה: פקודת config set נחשבת כמסוכנת. על ידי שינוי קובץ התצורה של Redis, ייתכן כי תגרום לשרת Redis שלך להתנהג בדרכים בלתי צפויות או לא רצויות. אנו ממליצים לך להריץ את פקודת config set רק אם אתה בודק את ההתנהגות שלה או אם אתה בטוח לחלוטין שאתה רוצה לבצע שינויים בהגדרות התצורה שלך ב־Redis.

ייתכן שיהיה בתועלתך לשנות את שם הפקודה למשהו עם סיכוי נמוך יותר להתפעל בטעות.

config set מאפשר לך להגדיר מחדש את Redis בזמן ריצה מבלי לצטרך לאתחל את השירות. הוא משתמש בתחביר הבא:

  1. config set parameter value

לדוגמה, אם ברצונך לשנות את שם קובץ ה־dump של מסד הנתונים של Redis שיוצר לאחר שתריץ פקודת save, ייתכן כי תריץ פקודה כמו זו:

  1. config set "dbfilename" "new_file.rdb"

אם שינוי התצורה תקין, הפקודה תחזיר OK. במקרה אחר, היא תחזיר שגיאה.

שימו לב: לא כל פרמטר בקובץ התצורה של redis.conf ניתן לשינוי באמצעות פעולת config set. לדוגמה, אי אפשר לשנות את הסיסמה לאימות שהוגדרה על ידי פרמטר ה־requirepass.

הפיכת שינויי התצורה לקבועים

config set לא משנה את קובץ התצורה של Redis באופן קבוע; הוא משנה רק את ההתנהגות של Redis בזמן ריצה. כדי לערוך את redis.conf לאחר ביצוע פקודת config-set ולהפוך את התצורה של המהלך הנוכחי לקבועה, רוץ את config rewrite:

  1. config rewrite

הפקודה זו מעדיפה לשמור על ההערות והמבנה הכללי של קובץ ה-redis.conf המקורי, עם שינויים מינימליים רק כדי להתאים להגדרות שבשימוש כרגע על ידי השרת.

כמו config set, אם ההפקודה לשינוי הוצלחה, config rewrite תחזיר OK.

בדיקת התצורה של Redis

כדי לקרוא את הפרמטרים הנוכחיים של תצורת שרת Redis, הריץ את הפקודה config get. config get מקבלת ארגומנט יחיד, שיכול להיות התאמה מדויקת של פרמטר השימוש ב-redis.conf או תבנית גלוב. לדוגמה:

  1. 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