بدء استخدام Redis السريع
بعد تثبيت Redis، دعنا نبدأ بسرعة ونتعلم عمليات Redis الأساسية.
بدء خادم Redis
بدء التشغيل في المقدمة
أبسط طريقة لبدء Redis — يعمل في المقدمة ويسجل مباشرة في الطرفية.
redis-server
المخرجات:
_._
_.-``__ ''-._
_.-`` `. `_. ''-._
_.-`` .-`` .-```. ```.-'' ''-._
.-`` .-`` .-`````-..-'''.-'' ''-._
( ' . ''-. ``.
|`. `-. `-. `-. `-. `-.)
| `-. `-. `-. `-. `-. `'
`-. `-. `-. `-. `-. `-. _
`-. `-. `-. `-. `-. .-'
`-. `-. `-. `-. .-'
`-. `-. `-. .-'
`-. `-. .-'
`-. .-'
`-
Redis 7.0.11 (00000000/0) 64 bit
Running in standalone mode
Port: 6379
PID: 12345
Ready to accept connections
Ctrl+C لإيقاف خادم Redis.
بدء التشغيل في الخلفية
يُوصى بالتشغيل في الخلفية للبيئات الإنتاجية.
# الطريقة 1: استخدام معامل daemonize
redis-server --daemonize yes
# الطريقة 2: تعديل ملف الإعدادات
# عدّل /etc/redis/redis.conf
daemonize yes
# ثم ابدأ
redis-server /etc/redis/redis.conf
بدء التشغيل على منفذ محدد
# استخدام المنفذ 6380
redis-server --port 6380
التحقق مما إذا كان Redis قيد التشغيل
# Linux
ps aux | grep redis-server
# أو استخدام redis-cli
redis-cli ping
# يُرجع PONG إذا كان Redis قيد التشغيل
الاتصال بـ Redis
استخدام redis-cli
redis-cli هو عميل سطر الأوامر المدمج في Redis.
# الاتصال بـ Redis المحلي (الافتراضي 127.0.0.1:6379)
redis-cli
# بعد الاتصال، يتغير الموجه إلى:
127.0.0.1:6379>
تحديد المضيف والمنفذ
# الاتصال بمضيف ومنفذ محددين
redis-cli -h 192.168.1.100 -p 6379
# الاتصال بمنفذ محلي مختلف
redis-cli -p 6380
الاتصال بكلمة مرور
# الطريقة 1: معامل سطر الأوامر
redis-cli -a yourpassword
# الطريقة 2: المصادقة بعد الاتصال
redis-cli
AUTH yourpassword
OK
-a يعرض كلمة المرور في سجل الأوامر. للإنتاج، استخدم أمر AUTH أو ملف الإعدادات بدلاً من ذلك.
الاتصال عبر مقبس Unix
redis-cli -s /tmp/redis.sock
الخروج من redis-cli
# الخروج من الاتصال
exit
# أو
quit
# أو اضغط Ctrl+D
الأمر الأول: PING
يختبر أمر PING ما إذا كان الاتصال يعمل، مشابهًا لأمر ping الشبكي.
مثال:اختبار الاتصال
PING
إذا كان Redis يعمل بشكل صحيح، فإنه يُرجع PONG.
PING مع رسالة
PING "Hello"
"Hello"
يمكن لـ PING حمل رسالة، ويعيدها Redis كما هي.
الأوامر الأساسية: SET و GET
SET و GET هما أكثر الأوامر استخدامًا لتخزين واسترداد بيانات السلاسل.
SET: تخزين البيانات
يقوم أمر SET بتعيين زوج مفتاح-قيمة.
مثال:SET أساسي
SET name "Redis Tutorial"
GET name
مثال:مع انتهاء الصلاحية
# تعيين مفتاح ينتهي صلاحيته بعد 10 ثوانٍ
SET temp "temporary" EX 10
GET temp
# أو استخدام PX للميلي ثانية
SET temp2 "temp" PX 5000
GET temp2
مثال:التعيين فقط إذا كان المفتاح غير موجود
# NX: التعيين فقط إذا كان المفتاح غير موجود
SET name "New Name" NX
# XX: التعيين فقط إذا كان المفتاح موجودًا
SET name "Updated Name" XX
GET name
بناء جملة أمر SET الكامل
SET key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT timestamp|PXAT timestamp]
| المعامل | الوصف |
|---|---|
| NX | التعيين فقط إذا كان المفتاح غير موجود |
| XX | التعيين فقط إذا كان المفتاح موجودًا |
| GET | إرجاع القيمة القديمة (Redis 6.2+) |
| EX seconds | تعيين انتهاء الصلاحية بالثواني |
| PX milliseconds | تعيين انتهاء الصلاحية بالميلي ثانية |
| EXAT timestamp | تعيين انتهاء الصلاحية بطابع زمني Unix (ثوانٍ) |
| PXAT timestamp | تعيين انتهاء الصلاحية بطابع زمني Unix (ميلي ثانية) |
GET: قراءة البيانات
يسترجع أمر GET قيمة المفتاح.
مثال:GET أساسي
GET name
# المفتاح غير موجود، يُرجع nil
GET notexist
مثال:GETSET (الحصول على القيمة القديمة، تعيين قيمة جديدة)
GETSET name "New Value"
GET name
أوامر أساسية أخرى
DEL: حذف مفتاح
SET temp "delete me"
OK
DEL temp
(integer) 1 # الحذف ناجح، يُرجع عدد المفاتيح المحذوفة
DEL temp
(integer) 0 # المفتاح غير موجود، تم حذف 0
EXISTS: التحقق من وجود المفتاح
SET name "Redis"
OK
EXISTS name
(integer) 1 # موجود
EXISTS notexist
(integer) 0 # غير موجود
KEYS: البحث عن المفاتيح
# تعيين بعض بيانات الاختبار
SET user:1 "Alice"
SET user:2 "Bob"
SET product:1 "iPhone"
# البحث عن جميع المفاتيح (استخدم بحذر!)
KEYS *
1) "user:1"
2) "user:2"
3) "product:1"
4) "name"
# البحث عن المفاتيح المطابقة لنمط
KEYS user:*
1) "user:1"
2) "user:2"
KEYS *:1
1) "user:1"
2) "product:1"
FLUSHDB: مسح قاعدة البيانات الحالية
# مسح جميع البيانات في قاعدة البيانات الحالية (خطير!)
FLUSHDB
OK
DBSIZE: عد المفاتيح
DBSIZE
(integer) 4 # قاعدة البيانات الحالية بها 4 مفاتيح
أنواع إرجاع الأوامر
تُرجع أوامر Redis أنواعًا مختلفة من النتائج:
| مثال الإرجاع | النوع | الوصف |
|---|---|---|
OK |
سلسلة بسيطة | العملية ناجحة |
"value" |
سلسلة | قيمة سلسلة |
(integer) 1 |
عدد صحيح | نتيجة رقمية |
1) "a"2) "b" |
مصفوفة | قائمة أو مجموعة |
(nil) |
فارغ | المفتاح غير موجود أو لا توجد نتيجة |
# Error |
خطأ | فشل تنفيذ الأمر |
تنفيذ الأوامر بشكل دفعات
الوضع التفاعلي
أدخل الأوامر واحدًا تلو الآخر في redis-cli:
SET a 1
OK
SET b 2
OK
GET a
"1"
وضع خط الأنابيب
تنفيذ الأوامر من ملف بشكل دفعات:
# إنشاء ملف أوامر commands.txt
echo "SET key1 value1" > commands.txt
echo "SET key2 value2" >> commands.txt
echo "GET key1" >> commands.txt
# تنفيذ دفعات
cat commands.txt | redis-cli
المخرجات:
OK
OK
"value1"
التنفيذ المباشر من سطر الأوامر
# تنفيذ أمر واحد مباشرة
redis-cli SET mykey "myvalue"
# المخرجات: OK
redis-cli GET mykey
# المخرجات: "myvalue"
# تنفيذ أوامر متعددة
redis-cli << EOF
SET a 1
SET b 2
GET a
GET b
EOF
استخدام نظام المساعدة
لدى Redis نظام مساعدة شامل مدمج.
عرض مساعدة الأمر
HELP SET
SET key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTL]
summary: Set the string value of a key
since: 1.0.0
group: string
عرض مجموعات الأوامر
HELP @string
# يسرد جميع أوامر السلسلة
الإكمال التلقائي
يدعم redis-cli مفتاح Tab لإكمال الأوامر:
SET<press Tab>
# يكتمل تلقائيًا إلى SET
نصائح مفيدة
1. عرض معلومات الخادم
INFO
# يُرجع معلومات خادم شاملة
# عرض أقسام محددة
INFO server
INFO memory
INFO stats
2. عرض الإعدادات
# عرض جميع الإعدادات
CONFIG GET *
# عرض إعداد محدد
CONFIG GET maxmemory
1) "maxmemory"
2) "0"
3. مراقبة الأوامر
# مراقبة فورية لجميع الأوامر المنفذة
MONITOR
OK
# ثم يعرض جميع الأوامر من جميع العملاء
4. عرض اتصالات العملاء
CLIENT LIST
id=1 addr=127.0.0.1:52345 fd=8 name= age=10 idle=0 ...
❓ أسئلة شائعة
ps aux | grep redis)، وتحقق من صحة المنفذ، وتحقق من إعدادات جدار الحماية。س:كيف أخرج من redis-cli؟
📖 ملخص
- redis-server يبدأ خادم Redis، redis-cli يتصل به
- PING يختبر الاتصال، SET/GET يخزّن ويسترجع السلاسل
- DEL يحذف المفاتيح، EXISTS يتحقق من وجود مفتاح
- KEYS يبحث عن المفاتيح (بحذر في الإنتاج)، DBSIZE يعد المفاتيح
- استخدم HELP لمساعدة الأوامر، ومفتاح Tab للإكمال
- MONITOR يراقب الأوامر، INFO يعرض معلومات الخادم
📝 تمارين
- تمرين البدء: ابدأ خادم Redis، وتصل باستخدام redis-cli، وشغّل أمر PING
- العمليات الأساسية: استخدم SET لتخزين اسمك وعمرك، ثم استخدم GET لاسترجاعهما
- تمرين انتهاء الصلاحية: عيّن مفتاحًا مع انتهاء صلاحية، انتظر حتى تنتهي صلاحيته، ثم استخدم GET للتحقق
- العمليات الدفعية: أنشئ ملفًا نصيًا بأوامر Redis متعددة ونفذها باستخدام وضع خط الأنابيب
الدرس التالي
في الدرس التالي، سنتعلم إعدادات Redis، والتي تغطي ملف إعدادات Redis وخيارات الإعدادات الشائعة.



