سؤال

لقد سمعت عن Redis-Cache ولكن كيف يعمل بالضبط؟ هل يتم استخدامه كطبقة بين Django و RDBMS الخاص بي ، عن طريق التخزين المؤقت لاستعلامات RDBMS بطريقة ما؟

أم أنه من المفترض أن تستخدم مباشرة كقاعدة البيانات؟ الذي أشك في ذلك ، نظرًا لأن صفحة GitHub لا تغطي أي تفاصيل تسجيل الدخول ، لا يوجد إعداد .. فقط يخبرك بتعيين بعض خاصية التكوين.

هل كانت مفيدة؟

المحلول

تحتوي وحدة Python هذه لـ Redis على مثال واضح في الاستخدام في ReadMe: http://github.com/andymccurdy/redis-py

تم تصميم Redis ليكون ذاكرة التخزين المؤقت RAM. وهو يدعم GET BUSIC ومجموعة من المفاتيح بالإضافة إلى تخزين المجموعات مثل القواميس. يمكنك تخزين استفسارات RDBMS عن طريق تخزين إخراجها في redis. سيكون الهدف هو تسريع موقع Django الخاص بك. لا تبدأ في استخدام Redis أو أي ذاكرة التخزين المؤقت الأخرى حتى تحتاج إلى السرعة - لا تحسن قبل الأوان.

نصائح أخرى

لمجرد أن Redis يخزن الأمور في الذاكرة لا يعني أنه من المفترض أن يكون ذاكرة التخزين المؤقت. لقد رأيت أشخاصًا يستخدمونه كمتجر ثابت للبيانات.

يمكن استخدامه كذاكرة التخزين المؤقت هو تلميح بأنه مفيد كتخزين عالي الأداء. إذا سقط نظام Redis الخاص بك على الرغم من أنك قد تفقد البيانات التي لم تتم كتابتها مرة أخرى على القرص مرة أخرى. هناك بعض الطرق لتخفيف مثل هذه المخاطر ، على سبيل المثال نسخة طبق الأصل الساخن. إذا كانت بياناتك "مهمة مهمة" ، كما لو كنت تقوم بتشغيل بنك أو متجر ، فقد لا يكون Redis أفضل اختيار لك. ولكن إذا كتبت لعبة عالية الحركة مع بيانات حية مستمرة أو بعض أشياء التفاعل الاجتماعي وإدارة احتمال أن تكون خسارة البيانات مقبولة تمامًا ، فقد يكون Redis يستحق المظهر.

على أي حال ، تبقى النقطة ، نعم ، يمكن استخدام redis كقاعدة بيانات.

Redis هو في الأساس متجر KV "في الذاكرة" مع الكثير من الأجراس والصفارات. إنه مرن للغاية. يمكنك استخدامه كمتجر مؤقت ، مثل ذاكرة التخزين المؤقت ، أو متجر دائم ، مثل قاعدة البيانات (مع تحذيرات كما هو مذكور في إجابات أخرى).

عند دمجها مع Django ، ربما تكون حالة الاستخدام الأفضل/الأكثر شيوعًا لـ Redis هي تخزين "استجابات" وجلسات.

هناك الواجهة الخلفية هنا https://github.com/sebleier/django-redis-cache/ ووثائق ممتازة في مستندات Django هنا: https://docs.djangoproject.com/en/1.3/topics/cache/ .

لقد بدأت مؤخرًا باستخدام https://github.com/erussell/django-redis-status لمراقبة ذاكرة التخزين المؤقت الخاصة بي - يعمل سحر. (تكوين MaxMemory على redis أو النتائج ليست مفيدة للغاية).

يمكنك أيضًا استخدام Redis كطابور للمهام الموزعة في تطبيق Django الخاص بك. يمكنك استخدامه كوسيط رسائل ل كرفس أو بيثون RQ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top