2013-03-04 11 views
5

मैं अपने आवेदन में उपयोग करने के लिए एक सतत कुंजी-मूल्य भंडारण की तलाश में हूं। विशेष रूप से:एंबेडेड जावा कुंजी-मूल्य भंडारण

  1. यह जावा अनुप्रयोग में एम्बेड किए जाने चाहिए। शुद्ध जावा समाधान सबसे अच्छा होगा।
  2. डिस्क पर डेटा जारी रखा जाना चाहिए, स्मृति-केवल भंडारण एक विकल्प नहीं है। मेमोरी पदचिह्न आकार महत्वपूर्ण है और कुंजी-मूल्य मानचित्र का समग्र आकार काफी बड़ा हो सकता है। आदर्श रूप में मैं भंडारण पर लागू किसी प्रकार का एलआरयू कैश बनाना चाहता हूं।
  3. दोनों कुंजी & मान स्ट्रिंग हैं (जावा ऑब्जेक्ट क्रमबद्धता आदि का समर्थन करने की आवश्यकता नहीं है)।
  4. समवर्ती पढ़ने/लिखना महत्वपूर्ण हैं।

ऐसे मामले में सबसे अच्छा विकल्प क्या होगा?

+0

[कुंजी-मूल्य स्टोर सुझाव] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/6639080/key-value-store-suggestion) –

+0

यह मदद करने का एक और तरीका है, TayzGrid को [जावा कुंजी 'के रूप में उपयोग करें मूल्य स्टोर] (http://blogs.tayzgrid.com/using-an-in-memory-key-value-store-to-scale-java-apps/) और समय-समय पर कैश डेटा डंप करें –

उत्तर

2

मैं SQLite (SQLite) का उपयोग करूंगा। यह फ़ाइल भंडारण जैसे एक रिलेशनल-डेटाबेस है, जो आपको महत्वपूर्ण मूल्यों और किसी अन्य चीज को स्टोर करने की अनुमति देगा। इसमें बहुत कम पदचिह्न है और यह काफी तेज़ है।

इन सभी कारणों से एंड्रॉइड एप्लिकेशन पर इसका उपयोग आमतौर पर किया जाता है।

3

मुझे नहीं पता कि यह सबसे अच्छा है या नहीं, लेकिन Hazelcast में ये विकल्प हैं। आप डिस्क पर बैकअप के साथ मेमोरी पर अपना डेटा स्टोर कर सकते हैं। हेज़ेलकास्ट पर example है।

3

मैंने Voldemort का उपयोग किया है जब हमें सामान्य डेटा को समर्थित करना था जब हमें सामान्य हैश मैप को प्रतिस्थापित करना था। प्रदर्शन वास्तव में महान था।

मूल्य = store.get (key)

store.put (कुंजी, मूल्य)

store.delete (कुंजी)

अगले oppurtunity में एक कुंजी की कोशिश करना मूल्य स्टोर, मैं सभी संभावनाओं में Redis

5

OrientDB (SO info page) बिल को फिट करने की कोशिश करता है।

प्रलेखन कभी-कभी थोड़ा सा कमी होता है, लेकिन मुझे विश्वास है कि यह आपके द्वारा सूचीबद्ध मानदंडों को पूरा करता है।

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