Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

रेडिस में सभी कुंजी कैसे प्राप्त करें

  • अधिकांश (लेकिन सभी नहीं) ऑब्जेक्ट एक कुंजी का उपयोग करते हैं
    • नाम स्थान का उपयोग करना
  • सभी मौजूदा कुंजियों को पुनः प्राप्त करना

अन्य गैर-संबंधपरक डेटाबेस इंजनों की तरह, रेडिस डेटा संरचनाओं और संघों को कैसे संभालता है, इसके बारे में अपने दिमाग को लपेटना कभी-कभी मुश्किल हो सकता है। यह विशेष रूप से सच है जब रेडिस की तुलना क्वारंटाइन टेबल वाले अधिक पारंपरिक रिलेशनल डेटाबेस से की जाती है, जिनमें से प्रत्येक में हाउस डेटा के लिए कई पंक्तियाँ और कॉलम होते हैं।

चूंकि रेडिस गैर-संबंधपरक है, सिस्टम में सब कुछ बुनियादी key/value . के साथ कॉन्फ़िगर किया गया है सरलतम स्तर पर जोड़े। विशेष रूप से विकास के दौरान, डेटाबेस में पहले से मौजूद हर चीज का ट्रैक रखना मुश्किल हो सकता है, इसलिए इस संक्षिप्त ट्यूटोरियल में हम सभी keys को पुनः प्राप्त करने की विधि को कवर करेंगे। कुछ साधारण कमांड के साथ रेडिस डेटाबेस से।

अधिकांश (लेकिन सभी नहीं) ऑब्जेक्ट एक कुंजी का उपयोग करते हैं

Redis के साथ अधिकांश डेटा संग्रहण के लिए, डेटा को एक साधारण key/value . में संग्रहीत किया जाएगा जोड़ा। यह सबसे अच्छा redis-cli . के माध्यम से दिखाया गया है (कमांड लाइन इंटरफ़ेस) GET . का उपयोग करके और SET आदेश।

उदाहरण के लिए, हम books . के बारे में कुछ जानकारी संग्रहीत करना चाह सकते हैं , जैसे title और author हमारे कुछ पसंदीदा में से।

> SET title "The Hobbit"
OK
> SET author "J.R.R. Tolkien"
OK

title और author keys हैं हमने सेट किया है और वास्तविक स्ट्रिंग मान बाद में निर्दिष्ट किए गए थे। तो हम उन्हें GET with के साथ देख सकते हैं , इस तरह:

> GET title
"The Hobbit"
> GET author
"J.R.R. Tolkien"

नेमस्पेस का उपयोग करना

यह सब ठीक है और अच्छा है, लेकिन हम एक और किताब कैसे जोड़ सकते हैं? हम उसी title का पुन:उपयोग नहीं कर सकते हैं और author कुंजियाँ या हम मौजूदा डेटा को अधिलेखित कर देंगे। इसके बजाय, हम : . का उपयोग करके नेमस्पेस सिंटैक्स का उपयोग कर सकते हैं विभाजक और प्रत्येक title दे रहा है या author एक अद्वितीय संख्यात्मक keys दर्ज करें :

> SET title:1 "The Hobbit"
OK
> SET author:1 "J.R.R. Tolkien"
OK
> SET title:2 "The Silmarillion"
OK
> SET author:2 "The Silmarillion"
OK

अब GET का उपयोग कर रहे हैं अद्वितीय संख्यात्मक keys जोड़ने की आवश्यकता है साथ ही:

> GET title:1
"The Hobbit"
> GET title:2
"The Silmarillion"

सभी मौजूदा कुंजियां पुनर्प्राप्त करना

जैसा कि यह पता चला है, प्रत्येक SET ऊपर हमने जो आदेश जारी किया है, उसने एक नया, अद्वितीय keys बनाया है हमारे रेडिस डेटाबेस के भीतर। सभी मौजूदा keys . की सूची प्राप्त करने के लिए जो मौजूद हैं, बस keys का उपयोग करें आदेश:

> KEYS *
1) "title:1"
2) "title:2"
3) "title"
4) "author:2"
5) "author"
6) "author:1"

keys . का पालन करके तारक के साथ (* ) - जो वाइल्डकार्ड खोज के रूप में कार्य करता है - हम Redis को सिस्टम में सभी कुंजियों को पुनः प्राप्त करने के लिए कह रहे हैं। इस प्रकार, हम न केवल हमारे दो मूल title . देखते हैं और author कुंजियाँ लेकिन साथ ही साथ चार प्रगणित संस्करण भी।

KEYS . के बाद का सिंटैक्स कुंजी के भीतर विशिष्ट शब्दों या वाक्यांशों को खोजने के लिए या सटीक मिलान के लिए भी उपयोग किया जा सकता है। यहां हम सभी कुंजियां चाहते हैं जिनमें 'title' . टेक्स्ट हो :

> KEYS *title*
1) "title:1"
2) "title:2"
3) "title"

चेतावनी:जैसा कि आधिकारिक दस्तावेज़ीकरण में बताया गया है, यह सलाह दी जाती है कि keys का उपयोग करने से बचें। बहुत बड़े डेटाबेस पर कमांड, लेकिन विशेष रूप से इसे उत्पादन वातावरण में उपयोग करने से बचें। चूंकि keys सिस्टम में संभावित रूप से हर कुंजी लौटा रहा है, इससे प्रदर्शन पर नाटकीय नकारात्मक प्रभाव पड़ सकता है।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. लुआ स्क्रिप्ट और रेडिस - किसी भी मूल्य के लिए परीक्षण कैसे करें

  2. डॉकर और अजवाइन - त्रुटि:पिडफाइल (celerybeat.pid) पहले से मौजूद है

  3. इस साधारण बेंचमार्क में SQLite रेडिस से तेज क्यों है?

  4. क्या रेडिस सॉर्ट किए गए सेट से पॉप सदस्यों का समर्थन करने का कोई अच्छा तरीका है?

  5. रेडिस:सॉर्ट किए गए सेट के साथ सामान्य सेट को कैसे छेड़छाड़ करें?