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

रेडिस के साथ पहला कदम

जब आपके पास रेडिस चालू हो जाए, तो आप इसका उपयोग शुरू कर सकते हैं!

सबसे आसान तरीका है redis-cli . का उपयोग करना , जब आप Redis इंस्टॉल करते हैं तो एक एप्लिकेशन इंस्टॉल हो जाता है।

ऐसा करने के लिए एप्लिकेशन को सेट किए बिना रेडिस को कमांड लिखने का यह एक अंतर्निहित तरीका है।

<ब्लॉकक्वॉट>

आप redis-cli -h <host> -p <port> -a <password> का उपयोग करके दूरस्थ Redis सर्वर से कनेक्ट कर सकते हैं

एक बार जब आप रेडिस सीएलआई ऐप में हों, तो आप इसमें डेटा संग्रहित करना शुरू कर सकते हैं।

संरचना का उपयोग करके एक मान जोड़ें SET <key> <value> :

SET name "Flavio"

एक मान प्राप्त करें

संरचना का उपयोग करके एक मान प्राप्त करें GET <key> :

जांचें कि कोई कुंजी मौजूद है या नहीं

हम EXISTS <key> . का उपयोग करके यह भी जांच सकते हैं कि कोई कुंजी मौजूद है या नहीं :

आदेश या तो 1 (मौजूद) या 0 (मौजूद नहीं) देता है।

अगर मौजूद नहीं है तो सेट करें

SET . का एक रूपांतर हमें केवल एक कुंजी सेट करने की अनुमति देता है यदि यह अभी तक मौजूद नहीं है:

SETNX name "Roger"

एक कुंजी हटाएं

DEL <key> . का उपयोग करके एक कुंजी हटाएं :

मौजूदा कुंजियों को सूचीबद्ध करना

आप KEYS * . का उपयोग करके डाली गई सभी कुंजियों को सूचीबद्ध कर सकते हैं

या आप KEYS n* . जैसे पैटर्न का उपयोग करके फ़िल्टर कर सकते हैं केवल n . से शुरू होने वाली कुंजियों को सूचीबद्ध करने के लिए , उदाहरण के लिए।

संग्रहीत प्रत्येक मान का मान 512 एमबी तक हो सकता है।

एक्सपायरिंग कीज

एक कुंजी को अस्थायी रूप से संग्रहीत किया जा सकता है, और टाइमर समाप्त होने पर स्वचालित रूप से हटाया जा सकता है:

SETEX <key> <seconds> <value>

आप TTL <key> . का उपयोग करके किसी कुंजी को साफ़ करने के लिए शेष समय प्राप्त कर सकते हैं

इस उदाहरण में मैंने एक name . सेट किया है कुंजी के साथ Flavio मूल्य के रूप में, और टीटीएल का उपयोग करके मैं जांच सकता हूं कि कुंजी मूल्य वापस करने तक कितना समय बचा है। एक बार टाइमर की समय सीमा समाप्त हो जाने के बाद, यह एक शून्य मान (nil .) में परिणत होता है ):

आप EXPIRE <key> seconds> . का उपयोग करके मौजूदा कुंजी को समाप्त होने के लिए सेट कर सकते हैं ।

इंक्रीमेंट और डिक्रीमेंट

INCR <key> . का उपयोग करके एक अंकीय मान को बढ़ाया जा सकता है और DECR <key> . का उपयोग करके घटाया गया . आप INCRBY <key> <amount> का भी उपयोग कर सकते हैं और DECRBY <key> <amount> एक विशिष्ट राशि द्वारा एक प्रमुख मूल्य को बढ़ाने के लिए:

वे कमांड उच्च समवर्ती संचालन के लिए बहुत उपयुक्त हैं जहां कई क्लाइंट परमाणु लेनदेन सुनिश्चित करने के लिए एक ही डेटा के साथ बातचीत कर सकते हैं। ।

सबसे आम उदाहरण है जब 2 अलग-अलग क्लाइंट एक ही संख्या को बढ़ाने की कोशिश करते हैं।

PostgreSQL या MongoDB जैसे डेटाबेस पर आपको पहले नंबर मान मिलता है, आप इसे बढ़ाते हैं, फिर आप सर्वर से इसे बढ़ाने का अनुरोध करते हैं।

मान लें कि मान 1 है . यदि दो क्लाइंट GET . का उपयोग करके मान पढ़ते हैं फिर वे SET . पर कॉल करते हैं इसे स्वतंत्र रूप से बढ़ाने के लिए, अंत में यदि समवर्ती परिवर्तन होने से रोकने के लिए कुछ भी नहीं है, तो परिणाम 2 होगा . रेडिस इस समस्या को जड़ से रोकता है।

अधिक जटिल डेटा संरचनाएं

अब तक हमने सरल डेटा प्रकारों जैसे पूर्णांक और स्ट्रिंग के साथ काम किया है।

रेडिस अधिक जटिल संरचनाओं का समर्थन कर सकता है।

आइए अगले पाठों में देखें कि इसके साथ कैसे काम करना है:

  • सूचियां
  • सेट
  • सॉर्ट किए गए सेट
  • हैश

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. *((char*)-1) ='x' कोड का क्या अर्थ है?

  2. रिमोट रेडिस सर्वर से कैसे जुड़ें?

  3. मास्टर/गुलाम के समान सर्वर में रेडिस प्रहरी?

  4. रेस्क्यू और रेल के साथ रेडिस:उपयोग की जाने वाली मेमोरी> 'मैक्समेमरी' के दौरान ईआरआर कमांड की अनुमति नहीं है

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