المقدمة
ريديس هو متجر بيانات مفتوح المصدر وذا ذاكرة مخصصة لتخزين مفاتيح القيمة. يحتوي ريديس على عدة أوامر تسمح لك بإجراء تغييرات على إعدادات تكوين خادم ريديس أثناء التشغيل. ستناقش هذه الدورة التعليمية بعض هذه الأوامر، وستشرح أيضًا كيفية جعل هذه التغييرات في التكوين دائمة.
كيفية استخدام هذا الدليل
تم كتابة هذا الدليل كورقة غش مع أمثلة مستقلة. نحن نشجعك على الانتقال إلى أي قسم يكون ذا صلة بالمهمة التي تحاول إكمالها.
تم اختبار الأوامر المعروضة في هذا الدليل على خادم Ubuntu 22.04 يعمل بنسخة ريديس 6.0.16. لإعداد بيئة مماثلة، يمكنك اتباع الخطوة 1 من دليلنا حول كيفية تثبيت وتأمين ريديس على Ubuntu 22.04. سنقوم بتوضيح كيفية سلوك هذه الأوامر من خلال تشغيلها باستخدام redis-cli
، واجهة سطر أوامر ريديس. إذا كنت تستخدم واجهة ريديس مختلفة — مثل ريدلي، على سبيل المثال — فقد يختلف الإخراج الدقيق لبعض الأوامر.
بشكل بديل، يمكنك توفير نسخة إدارية من قاعدة بيانات 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
على سبيل المثال، إذا كنت ترغب في تغيير اسم ملف نسخ قاعدة البيانات الذي سينتجه 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