Redis - هل يمكن أن يكون حجم البيانات أكبر من حجم الذاكرة؟

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

  •  24-09-2019
  •  | 
  •  

سؤال

أنا جديد على Redis وقبل استخدامه ، أود أن أتعلم بعض التفاصيل المهمة (بالنسبة لي). لذا....

Redis يستخدم RAM و HDD لتخزين البيانات. يتم استخدام ذاكرة الوصول العشوائي على أنه تخزين القراءة/الكتابة السريعة ، يتم استخدام HDD لجعل هذه البيانات مستمرة. عند بدء تشغيل redis ، يتم تحميل جميع البيانات من HDD إلى RAM أو يتم تحميلها في كثير من الأحيان فقط عن البيانات إلى ذاكرة الوصول العشوائي؟ ماذا لو كان لدي تخزين Redis 500 ميغابايت على محرك الأقراص الصلبة ، ولكن لدي فقط 100 ميجابايت أو ذاكرة الوصول العشوائي لإعادة Redis. أين يمكنني أن أقرأ عنها؟

شكرًا لك

ملاحظة: آسف على لغتي الإنجليزية

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

المحلول

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

هناك عدة طرق يمكنك من خلالها استخدامها مع ذاكرة الوصول العشوائي أقل من البيانات. يمكنك إعداده بالاشتراك مع MySQL أو متجر آخر يعتمد على القرص للعمل مثل Memcached - يمكنك إدارة أخطاء ذاكرة التخزين المؤقت والمثابرة يدويًا.

يحتوي Redis على وضع VM حيث يجب أن تتناسب جميع المفاتيح في ذاكرة الوصول العشوائي ولكن يمكن أن تكون البيانات التي يتم الوصول إليها بشكل غير متكرر على القرص. ومع ذلك ، لست متأكدًا مما إذا كان هذا في التصميم المستقر حتى الآن.

نصائح أخرى

تحسنت الإصدارات الحديثة (> 2.0) بشكل كبير وإدارة الذاكرة أكثر كفاءة. راجع منشور المدونة هذا الذي يشرح كيفية استخدام التجزئة لتحسين بصمة ذاكرة RAM: http://antirez.com/post/redis-weekly update-7.html

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