2011-03-02 8 views
13

विशिष्ट होने के लिए, मेरे पास केवल 1 जीबी की मुफ्त मेमोरी है और रेडिस के लिए केवल 300 एमबी का उपयोग करना चाहूंगा। मैं इसे कैसे कॉन्फ़िगर कर सकता हूं ताकि यह केवल 300 एमबी मेमोरी का उपयोग कर सके?मैं अधिकतम मेमोरी आकार कैसे सेट करूं जो रेडिस का उपयोग कर सके?

जिज्ञासा से, जब आप एक नया डेटा डालने का प्रयास करते हैं तो क्या होता है और रेडिस आवंटित सभी मेमोरी का उपयोग पहले से ही किया जाता है?

उत्तर

11

maxmemory रेडिस को बहुत अधिक RAM का उपयोग करने से रोकने के लिए सही कॉन्फ़िगरेशन विकल्प है।

यदि कोई सम्मिलन अधिकतम से अधिक होने का कारण बनता है, तो सम्मिलन ऑपरेशन कभी-कभी विफल हो जाएगा।

रेडिस ऑपरेशन को असफल होने से रोकने के लिए अपनी शक्ति में सब कुछ करेगा। रेडिस के नए संस्करणों में, आप कॉन्फ़िगरेशन में स्मृति पुन: दावा नीतियों को कॉन्फ़िगर कर सकते हैं, साथ ही maxmemory-policy विकल्प सेट करके भी कॉन्फ़िगर कर सकते हैं।

इसके अलावा, यदि आपके पास वर्चुअल मेमोरी विकल्प चालू हैं, तो रेडिस डिस्क पर स्टेल डेटा स्टोर करना शुरू कर देगा।

और जानकारी:

7

आप maxmemory विकल्प का उपयोग कर ऐसा कर सकते हैं: maxmemory 314572800 का मतलब 300 एमबी है।

+3

मैं गलत हो सकता है, लेकिन मैं Redis डॉक्स कि maxmemory के लिए इकाइयां बाहर मंत्र में कुछ भी नहीं मिला है, और यह बहुत निराशा होती है। जाहिर है, यह बाइट्स में है? –

+0

रेडिस के नवीनतम संस्करण में यह maxmemory Xgb है। –

+0

कॉन्फ़िगरेशन फ़ाइल के शीर्ष पर इकाइयों को बुलाया जाता है। पुराने संस्करण से कॉन्फ़िगरेशन फ़ाइल यहां दी गई है: https://raw.githubusercontent.com/antirez/redis/2.4/redis.conf और 3.0 के लिए: https://raw.githubusercontent.com/antirez/redis/3.0/redis। conf – Brad

संबंधित मुद्दे