Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Redis

Jedis के साथ Redis CRUD में मास्टर करें: Java में हैश प्रबंधित करें

Jedis लाइब्रेरी

Jedis Redis डेटास्टोर के लिए एक Java क्लाइंट लाइब्रेरी है। यह छोटी और उपयोग में बहुत आसान है, और Redis 2.8.x, 3.x.x और उससे ऊपर के डेटास्टोर के साथ पूरी तरह से संगत है।

हैश वैल्यू

हैश फील्ड-वैल्यू पेयर का एक मैप होता है, जिसका उपयोग जावा ऑब्जेक्ट जैसे ऑब्जेक्ट टाइप को दर्शाने के लिए किया जा सकता है। Redis में, हैश को मान के रूप में संग्रहीत किया जा सकता है और विभिन्न Redis कमांड्स का उपयोग Redis डेटाबेस में संग्रहीत हैश मान को स्टोर, मैनेज और रिट्रीव करने के लिए किया जाता है।

प्रोजेक्ट सेटअप

अपनी पसंदीदा IDE में एक सिंपल Maven प्रोजेक्ट बनाएं और नीचे दी गई डिपेंडेंसी को अपनी pom.xml फाइल में जोड़ें।

<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.0.1</version> </dependency>

Redis इंस्टॉलेशन

आपको Redis का नवीनतम संस्करण इंस्टॉल करना होगा।

Jedis कनेक्शन

अपने Java कोड को Redis से जोड़ने के लिए Jedis (redis.clients.jedis.Jedis) क्लास का ऑब्जेक्ट बनाएं।

Jedis jedis = new Jedis();

फील्ड का मान बनाएं और सेट करें

हैश मान में समाहित फील्ड से जुड़ा मान सेट करने के तीन तरीके हैं। वे निम्न हैं:

  1. hset: यह हैश मान में उसके संबंधित फील्ड पर निर्दिष्ट मान सेट करता है। यदि फील्ड पहले से मौजूद है, तो उसका मान ओवरराइट हो जाता है। यदि की मौजूद नहीं है, तो सेट ऑपरेशन करने से पहले हैश मान रखने वाली एक नई की बनाई जाती है।
    /* <hash-1> में नाम फील्ड इन्सर्ट करें */ jedis.hset("hash-1", "name", "john");
    /* <hash-2> में नाम फील्ड इन्सर्ट करें */ jedis.hset("hash-2".getBytes(), "name".getBytes(), "john".getBytes());
  2. hsetnx: यह हैश मान में उसके संबंधित फील्ड पर निर्दिष्ट मान सेट करता है, केवल यदि फील्ड मौजूद नहीं है। यदि फील्ड पहले से मौजूद है, तो इस ऑपरेशन का कोई प्रभाव नहीं पड़ता। यदि की मौजूद नहीं है, तो सेट ऑपरेशन करने से पहले हैश मान रखने वाली एक नई की बनाई जाती है।
    /* <hash-1> में नाम फील्ड इन्सर्ट करें */ jedis.hsetnx("hash-1", "name", "john");
    /* <hash-2> में उम्र फील्ड इन्सर्ट करें */ jedis.hsetnx("hash-2".getBytes(), "age".getBytes(), "23".getBytes());
  3. hmset: यह निर्दिष्ट मानों को उनके संबंधित फील्ड्स पर सेट करता है (एकाधिक फील्ड/वैल्यू पेयर) हैश मान में। यदि निर्दिष्ट फील्ड्स में से कोई पहले से मौजूद है, तो उसका मान ओवरराइट हो जाएगा। यदि की मौजूद नहीं है, तो सेट ऑपरेशन करने से पहले हैश मान रखने वाली एक नई की बनाई जाती है।
    /* <hash-1> में नाम और उम्र फील्ड इन्सर्ट करें */
    Map<String,String> map = new HashMap<String, String>();
    map.put("name","john");
    map.put("age","23");
    jedis.hmset("hash-1", map);

फील्ड का मान प्राप्त करें

हैश मान में समाहित फील्ड से जुड़ा मान प्राप्त करने के दो तरीके हैं। वे निम्न हैं:

  1. hget: यह हैश मान के अंदर समाहित एक सिंगल फील्ड से जुड़ा मान लौटाता है।
    /* <hash-1> में नाम फील्ड का मान प्राप्त करें */ jedis.hget("hash-1", "name");
  2. hmget: यह हैश मान के अंदर समाहित एक या अधिक फील्ड्स से जुड़े मान लौटाता है।
    /* <hash-1> में नाम और उम्र फील्ड का मान प्राप्त करें */ jedis.hmget("hash-1", "name", "age");

आकार

hlen मेथड का उपयोग की पर संग्रहीत हैश मान में समाहित फील्ड्स की संख्या प्राप्त करने के लिए किया जाता है।

/* <hash-1> में फील्ड्स की संख्या लौटाता है */ jedis.hlen("hash-1");

हटाएं

hdel मेथड का उपयोग की पर संग्रहीत हैश मान से एक या अधिक फील्ड्स को हटाने के लिए किया जाता है।

/* <hash-1> से नाम और उम्र फील्ड हटाएं */ jedis.hdel("hash-1", "name", "age");
/* <hash-2> से नाम और उम्र फील्ड हटाएं */ jedis.hdel("hash-2".getBytes(),"name".getBytes(),"age".getBytes());

फील्ड अस्तित्व जांचें

hexists मेथड का उपयोग यह जांचने के लिए किया जाता है कि निर्दिष्ट फील्ड हैश का सदस्य है या नहीं।

/* जांचें कि नाम <hash-1> का सदस्य है या नहीं */ jedis.hexists("hash-1", "name");
/* जांचें कि नाम <hash-2> का सदस्य है या नहीं */ jedis.hexists("hash-2".getBytes(),"name".getBytes());

सभी प्राप्त करें

hgetall मेथड का उपयोग की पर संग्रहीत हैश मान में समाहित सभी फील्ड्स और उनके संबंधित मान प्राप्त करने के लिए किया जाता है।

/* <hash-1> से सभी फील्ड्स और उनके मान लौटाता है */ jedis.hgetAll("hash-1");
/* <hash-2> से सभी फील्ड्स और उनके मान लौटाता है */ jedis.hgetAll("hash-2".getBytes());

सभी कीज़ प्राप्त करें

hkeys मेथड का उपयोग की पर संग्रहीत हैश मान में समाहित सभी फील्ड्स के नाम प्राप्त करने के लिए किया जाता है।

/* <hash-1> से सभी फील्ड नाम लौटाता है */ jedis.hkeys("hash-1");
/* <hash-2> से सभी फील्ड नाम लौटाता है */ jedis.hkeys("hash-2".getBytes());

सभी मान प्राप्त करें

hvals मेथड का उपयोग की पर संग्रहीत हैश मान में समाहित सभी फील्ड्स के मान प्राप्त करने के लिए किया जाता है।

/* <hash-1> से सभी मान लौटाता है */ jedis.hvals("hash-1");
/* <hash-2> से सभी मान लौटाता है */ jedis.hvals("hash-2".getBytes());

संदर्भ:

  1. हैश कमांड डॉक्स

Jedis लाइब्रेरी का उपयोग करके हैश मान पर CRUD ऑपरेशन करने के बारे में बस इतना ही। अगर आपको यह पसंद आया, तो कृपया कमेंट सेक्शन में अपने विचार साझा करें और इसे दूसरों के साथ भी साझा करें।

  1. Redis हैश कमांड्स में मास्टर करें: HSET, HSETNX, HMSET - हैश फील्ड मान कुशलता से सेट करें Redis हैश कमांड्स में मास्टर करें: HSET, HSETNX, HMSET - हैश फील्ड मान कुशलता से सेट करें

    HSET कमांड यह कमांड निर्दिष्ट की पर संग्रहीत हैश में उसके संबंधित फील्ड पर निर्दिष्ट मान सेट करने के लिए उपयोग किया जाता है। यदि फील्ड पहले से मौजूद है, तो उसका मान ओवरराइट हो जाएगा। यदि की मौजूद नहीं है, तो सेट ऑपरेशन करने से पहले हैश मान रखने वाली एक नई की बनाई जाती है। त्रुटि लौटाई जाती है, यदि क

  1. Redis HGETALL से हैश के सभी फील्ड-वैल्यू पेयर्स प्राप्त करें Redis HGETALL से हैश के सभी फील्ड-वैल्यू पेयर्स प्राप्त करें

    HGETALL कमांड यह कमांड की पर संग्रहीत हैश मान में समाहित सभी फील्ड्स और उनके संबंधित मान लौटाता है। यदि की मौजूद नहीं है तो एक खाली सूची लौटाई जाती है और यदि की मौजूद है लेकिन की पर संग्रहीत मान हैश डेटाटाइप का नहीं है तो त्रुटि लौटाई जाती है। Redis HGETALL कमांड का सिंटैक्स निम्न है: सिंटैक्स: red

  1. Jedis के साथ Redis Pub/Sub कार्यान्वित करें: चरण-दर-चरण गाइड Jedis के साथ Redis Pub/Sub कार्यान्वित करें: चरण-दर-चरण गाइड

    Jedis लाइब्रेरी Jedis Redis डेटास्टोर के लिए एक Java क्लाइंट लाइब्रेरी है। यह छोटी और उपयोग में बहुत आसान है, और Redis 2.8.x, 3.x.x और उससे ऊपर के डेटास्टोर के साथ पूरी तरह से संगत है। Redis Pub/Sub सिस्टम Redis पब्लिश/सब्सक्राइब मैसेजिंग पैराडाइम को लागू करता है। इस मैसेजिंग पैराडाइम के अनुसार, मै