Redis पारंपरिक SQL डेटाबेस है कि मैं का उपयोग से धारणात्मक अलग है, और मैं यह पता लगाने की अगर यह अपने प्रोजेक्ट के लिए सही है ... मैं चारों ओर देख रहा है कोशिश कर रहा हूँ, लेकिन लगता है नहीं कर पा रहे मेरे प्रश्न का उत्तरRedis और क्वैरी मान
मैं उपयोगकर्ता है कि मैं स्टोर करने के लिए, प्रत्येक एक अद्वितीय ID और (जैसे कि उनके नाम के रूप में) कई मूल्यों इसके साथ जुड़े के साथ की जरूरत का एक सेट है। ऐसा लगता है कि मैं सिर्फ एक हैश के रूप में उन स्टोर कर सकते हैं:
message:1a7bcba4849b4c281bfef98a952dcfeb
"sender" "fef982dcfe1a7bcba4849b4c281bba95" "recipient" "82dcfe1a7bcba4849b4c281bba95fef9" "message" "Hi!"
:
user:fef982dcfe1a7bcba4849b4c281bba95
"username" "andrewm" "name" "Andrew"
मैं भी गए संदेशों के एक गुच्छा मैं स्टोर करने के लिए, ऐसे प्रत्येक प्रेषक और प्राप्तकर्ता के रूप में कुछ गुण चाहते हैं मेरा सवाल यह है कि, मैं एक विशिष्ट उपयोगकर्ता द्वारा भेजे गए सभी संदेशों को पुनर्प्राप्त करने के बारे में कैसे जाउंगा (उनके हैश द्वारा निर्दिष्ट)। क्या मुझे इसके बजाय पारंपरिक संबंधपरक डेटाबेस का उपयोग करना चाहिए, या यहां तक कि NooQL डेटाबेस जैसे मोंगोडीबी (जिसे मैंने पहले उपयोग किया है) का उपयोग करना चाहिए? यदि हां, तो क्या किसी के पास उच्च प्रदर्शन स्टोर के लिए कोई सुझाव है? मैं कोई सच्ची खोज नहीं करूँगा (यानी MySQL LIKE
प्रश्न) - वास्तव में केवल महत्वपूर्ण मूल्य लुकअप, वास्तव में।
आपको बहुत बहुत कि explanation-- के लिए यह काफी मददगार था धन्यवाद। मैं इसे और अधिक देख लूँगा :) –
हाय, धन्यवाद, बहुत उपयोगी। यदि "जोड़ने/किसी संदेश को हटाने * को बनाए रखने का मतलब होगा: भेजा है और *: प्राप्त सेट", यह अधिक स्थान की आवश्यकता डाटा स्टोर करने हैं, और इसलिए स्मृति में और अधिक स्थान ले? क्या यह प्रदर्शन के लिए एक मुद्दा हो सकता है अगर इस तरह के "बहु-स्टोर" अक्सर किया जाता है? आपकी मदद के लिए धन्यवाद – Loic
हां, यह स्टोर करने के लिए अधिक डेटा का प्रतिनिधित्व करता है। प्रदर्शन के संबंध में, आपको किसी दिए गए ऑपरेशन के लिए कई आदेश करने के प्रभाव को कम करने के लिए पाइपलाइनिंग का उपयोग करना होगा। Http://redis.io/topics/pipelining देखें –