# مقدمة إلى Redis
عند فتح موقع Redis الرسمي، الجملة الأولى تقول أن Redis هو نظام تخزين هياكل بيانات مفتوح المصدر يعتمد على الذاكرة، ويُستخدم عادةً كقاعدة بيانات وذاكرة تخزين مؤقت. Redis
شائع الاستخدام.
تثبيت Redis
يمكنك تثبيت Redis
من الموقع الرسمي. تمامًا مثل SQLite
. بعد الانتهاء من التثبيت، كيف يمكن استخدام Redis
في Python
؟
pip install redis
>>> import redis
>>> r = redis.Redis(host='localhost', port=6379, db=0)
>>> r.set('foo', 'bar')
True
>>> r.get('foo')
b'bar'
توثيق Python يقدم بعض الأمثلة. هنا ظهر شيء مثل pip
. pip
هو أداة إدارة الحزم. ما هي أداة إدارة الحزم؟ يمكنك الرجوع إلى فصل “تعرف على بيئة البرمجة” للاطلاع. pip
بالنسبة لـ python
يشبه Homebrew
بالنسبة لنظام macOS
.
pip
عادةً ما يكون مضمنًا عند تثبيت Python
. إذا كان لديك العديد من إصدارات Python
و Pip
على جهازك، يمكنك إضافة السطرين التاليين إلى ملف ~/.bash_profile
:
alias python=/usr/local/Cellar/python@3.9/3.9.1_6/bin/python3
alias pip=/usr/local/Cellar/python@3.9/3.9.1_6/bin/pip3
المقصود هو تحديد إصدار معين من python
و pip
. إحدى الطرق للقيام بذلك هي استخدام Homebrew
للتثبيت. كما يمكن أيضًا بناء التثبيت من الكود المصدري.
make
make test
make install
$ redis-server
87684:C 10 Mar 2021 14:46:06.056 # oO0OoO0OoO0Oo Redis يبدأ التشغيل oO0OoO0OoO0Oo
87684:C 10 Mar 2021 14:46:06.056 # إصدار Redis=6.2.1، بت=64، commit=00000000، معدل=0، pid=87684، بدأ للتو
87684:C 10 Mar 2021 14:46:06.056 # تحذير: لم يتم تحديد ملف تكوين، سيتم استخدام التكوين الافتراضي. لتحديد ملف تكوين، استخدم redis-server /path/to/redis.conf
87684:M 10 Mar 2021 14:46:06.057 * تم زيادة الحد الأقصى لعدد الملفات المفتوحة إلى 10032 (كان مضبوطًا في الأصل على 4864).
87684:M 10 Mar 2021 14:46:06.057 * الساعة الأحادية: POSIX clock_gettime
...
Redis 6.2.1 (00000000/0) 64 بت
...
87684:M 10 Mar 2021 14:46:06.058 # تم تهيئة الخادم
87684:M 10 Mar 2021 14:46:06.058 * جاهز لقبول الاتصالات
هنا مقتطف صغير من المحتوى. يمكننا أن نرى أنه تم التثبيت بنجاح. رقم الإصدار 6.2.1
، وهو الأحدث على الموقع الرسمي. افتح نافذة طرفية أخرى. يمكنك تجربة اللعب قليلاً:
$ redis-cli
127.0.0.1:6379> set a 2
OK
127.0.0.1:6379> get a
"2"
قم بتشغيل الكود التالي.
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
r.set('foo', 'bar')
print(r.get('foo'))
الإخراج:
$ python fib_redis.py
b'bar'
مثال على التخزين المؤقت باستخدام Redis
لتنفيذ متسلسلة فيبوناتشي باستخدام Redis
.
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
def f(n):
nr = r.get(n)
if nr is not None:
return int(nr)
res_n = 0
if n < 2:
res_n = n
else:
res_n = f(n-1) + f(n-2)
r.set(n, res_n)
return res_n
print(f(10))
بهذا تكون قد انتهيت! 🎉