القضبان والتخزين المؤقت ، هل من السهل التبديل بين Memcache و Redis؟

StackOverflow https://stackoverflow.com/questions/4221735

سؤال

هل هناك واجهة برمجة تطبيقات شائعة ، إذا قمت بالتبديل بين redis أو memcached ، فلن أضطر إلى تغيير الكود الخاص بي ، بل مجرد إعداد تكوين؟

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

المحلول

طالما أنك لا تقوم بتهيئة العميل memcached بنفسك ولكنك تعتمد على Rails.cache API الشائع ، التبديل من memcached إلى redis هو مجرد مسألة التثبيت redis store وتغيير التكوين من

config.cache_store = :memcached_store

ل

config.cache_store = :redis_store

أكثر معلومات حول Rails.cache.

نصائح أخرى

أنا أكره العبث بأهدافك ، لكني أنصح بعدم استخدام redis على memcached لتخزين القضبان العامة.

أستخدم Redis و Resque على نطاق واسع في تطبيق Rails كبير واعتقدت أنه سيكون من الجيد دمج التخزين المؤقت ، Raw Redis و Resque إلى واحد. واجهت بعض القضايا الكبيرة:

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

حظا سعيدا مع المشروع الخاص بك. أنا أحب redis و memcached واستخدامها في جميع مشاريعي ، لكنني سمحت للمرء أن يقوم بذلك كخادم بنية بيانات الحمار والسماح للركل الآخر في التخزين المؤقت.

تتضمن الأجزاء الأنيقة من redis تخزين المؤقتة "القائمة" - دفع/تفجير الأشياء من هذه القائمة عند حدوثها في تطبيقك.

بدلاً من إلغاء تخصيص قيمة كبيرة من memcached ، تحريرها ، ثم إعادة تخصيصها.

سيتم ذلك في رمز Ruby في مرشح مخصص ، مقابل ذاكرة التخزين المؤقت Rails الأساسية.

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