2012-11-02 14 views
6

रेडिस 16 विभिन्न 'डेटाबेस' (0 से 15) में डेटा संग्रहीत करने की अनुमति देता है। प्रति मेमोरी & डिस्क स्थान प्रति डेटाबेस उपयोग करने का कोई तरीका है। INFO कमांड केवल प्रति डेटाबेस कुंजी की संख्या सूचीबद्ध करता है।प्रत्येक डेटाबेस के लिए रेडिस में मेमोरी उपयोग

उत्तर

2

नहीं, आप प्रत्येक डेटाबेस को व्यक्तिगत रूप से नियंत्रित नहीं कर सकते हैं। ये "डेटाबेस" केवल आपके डेटा के तार्किक विभाजन के लिए हैं।

आप क्या कर सकते हैं (आपकी विशिष्ट आवश्यकताओं और सेटअप पर निर्भर करता है) कई रेडिस उदाहरणों को स्पिन कर रहा है, प्रत्येक व्यक्ति एक अलग कार्य करता है और प्रत्येक की मेमोरी कैप के साथ अपनी redis.conf फ़ाइल होती है। डिस्क स्पेस को कैप्ड नहीं किया जा सकता है, कम से कम रेडिस स्तर में नहीं।

साइड नोट: ध्यान रखें कि 16 डेटाबेस संख्या हार्डकोड नहीं है - आप इसे redis.conf में सेट कर सकते हैं।

+0

यह एक और विकल्प है, लेकिन मुझे यकीन है कि नहीं कर रहा हूँ कैसे प्रत्येक उदाहरण के लिए स्मृति की खपत में ज्यादा भूमि के ऊपर। – user209377

+0

लेकिन यह _the_ विकल्प –

4

redis-rdb-tools

आप डेटाबेस से एक अनुमानित स्मृति उपयोग हो सकता है, वास्तविकता के 10% के भीतर होना चाहिए देखें।

+0

है, मैं इसे आज़माउंगा, लेकिन मुझे लगता है कि 'वास्तविकता के 10% के भीतर' कहकर, आप अपने कार्यक्रम की रिपोर्ट के मुकाबले 10% अधिक कह रहे हैं, है ना? डीबग ऑब्जेक्ट का उपयोग करके प्रत्येक कुंजी के लिए सीरियललाइंडेंथ प्राप्त करना [इस सवाल] [http://stackoverflow.com/questions/7638542/redis-show-डेटाबेस- आकार- आकार-for-keys) सुझाव देता है, क्या यह बेहतर निचला बाउंड होगा ? मुझे जांच करने की ज़रूरत है। – user209377

+0

छोटी वस्तुओं के लिए, धारावाहिक लंबाई सटीक है। लेकिन बड़ी वस्तुओं के लिए, यह बहुत गलत है। Redis-rdb-tools रिवर्स इंजीनियरों रेडिस 'डेटा संरचनाओं का इस्तेमाल स्मृति को खोजने के लिए। अधिक जानने के लिए https://github.com/sripathikrishnan/redis-rdb-tools/blob/master/rdbtools/memprofiler.py में टिप्पणियां देखें –

0

मैंने इसे रेडिस डीबी में सभी चाबियों पर dump पर कॉल करके और बाइट्स की कुल संख्या को मापने के द्वारा किया। यह आपके सर्वर को धीमा कर देगा और थोड़ी देर लेगा। ऐसा लगता है कि आकार dump रिटर्न वास्तविक स्मृति उपयोग से लगभग 4 गुना छोटा है। ये संख्या आपको एक विचार देगी कि कौन सी डीबी सबसे अधिक जगह का उपयोग कर रही है।

यहाँ मेरी कोड है: https://gist.github.com/mathieulongtin/fa2efceb7b546cbb6626ee899e2cfa0b