इस ट्यूटोरियल में, हम सीखेंगे कि जेडिस लाइब्रेरी का उपयोग करके हैश वैल्यू पर सीआरयूडी ऑपरेशन कैसे करें।
जेडिस लाइब्रेरी
जेडिस रेडिस डेटास्टोर के लिए जावा क्लाइंट लाइब्रेरी है। यह छोटा और उपयोग करने में बहुत आसान है, और रेडिस 2.8.x, 3.x.x और ऊपर के डेटास्टोर के साथ पूरी तरह से संगत है। आप यहां जेडिस लाइब्रेरी के बारे में अधिक जानकारी प्राप्त कर सकते हैं।
हैश मान
हैश फ़ील्ड-वैल्यू जोड़ी का एक नक्शा है, जिसका उपयोग ऑब्जेक्ट प्रकार जैसे जावा ऑब्जेक्ट का प्रतिनिधित्व करने के लिए किया जा सकता है। रेडिस में, हैश को एक मूल्य के रूप में संग्रहीत किया जा सकता है और रेडिस डेटाबेस में संग्रहीत हैश मान को संग्रहीत करने, प्रबंधित करने और पुनर्प्राप्त करने के लिए विभिन्न रेडिस कमांड का उपयोग किया जाता है। आप यहां हैश कमांड के बारे में अधिक जानकारी प्राप्त कर सकते हैं।
प्रोजेक्ट सेटअप
अपने पसंदीदा IDE में एक साधारण मावेन प्रोजेक्ट बनाएं और अपने pom.xml में नीचे दी गई निर्भरता को जोड़ें फ़ाइल।
<निर्भरता>redis.clients jedis <संस्करण>3.0.1
जेडिस पुस्तकालय के नवीनतम संस्करण के लिए, इस पृष्ठ को देखें।
रेडिस इंस्टालेशन
आपको रेडिस का नवीनतम संस्करण स्थापित करना होगा। रेडिस स्थापित करने के बारे में अधिक जानकारी के लिए इस पृष्ठ को देखें।
जेडिस कनेक्शन
जेडिस . का ऑब्जेक्ट बनाएं ( redis.clients.jedis.Jedis ) अपने जावा कोड को रेडिस से जोड़ने के लिए कक्षा।
जेडिस जेडिस =न्यू जेडिस ();
यदि आपने अपनी स्थानीय मशीन और डिफ़ॉल्ट पोर्ट (6379) में एक रेडिस सेवा शुरू की है, तो डिफ़ॉल्ट कंस्ट्रक्टर ठीक काम करेगा। अन्यथा आपको सही होस्ट यूआरएल और पोर्ट नंबर पास करना होगा। कंस्ट्रक्टर में एक तर्क के रूप में।
फ़ील्ड का मान बनाएं और सेट करें
हैश मान के अंदर मौजूद फ़ील्ड से जुड़े मान को सेट करने के तीन तरीके हैं। वे इस प्रकार हैं :-
- hset :- यह निर्दिष्ट मान को हैश मान में अपने संबंधित फ़ील्ड में सेट करता है। यदि फ़ील्ड पहले से मौजूद है, तो इसका मान अधिलेखित हो जाता है। यदि कुंजी मौजूद नहीं है, तो सेट ऑपरेशन करने से पहले हैश मान रखने वाली एक नई कुंजी बनाई जाती है।
/*
में नाम फ़ील्ड डालें।*/jedis.hset("hash-1", "name में नाम फ़ील्ड डालें) "," जॉन "); /* */jedis.hset("hash-2.getBytes(), "name.getBytes(), "john.getBytes()); - hsetnx:- यह निर्दिष्ट मान को हैश मान में अपने संबंधित फ़ील्ड में सेट करता है, केवल तभी जब फ़ील्ड मौजूद न हो। यदि फ़ील्ड पहले से मौजूद है, तो इस ऑपरेशन का कोई प्रभाव नहीं पड़ता है। यदि कुंजी मौजूद नहीं है, तो सेट ऑपरेशन करने से पहले हैश मान रखने वाली एक नई कुंजी बनाई जाती है।
/*
में नाम फ़ील्ड डालें।*/jedis.hsetnx("hash-1", "name में नाम फ़ील्ड डालें) "," जॉन "); /* */jedis.hsetnx("hash-2.getBytes(), "age.getBytes(), "23.getBytes()); - hmset :- यह हैश मान में निर्दिष्ट मानों को उनके संबंधित क्षेत्रों (एकाधिक फ़ील्ड/मान जोड़ी) में सेट करता है। यदि कोई निर्दिष्ट फ़ील्ड पहले से मौजूद है, तो उसका मान अधिलेखित कर दिया जाएगा। यदि कुंजी मौजूद नहीं है, तो सेट ऑपरेशन करने से पहले हैश मान रखने वाली एक नई कुंजी बनाई जाती है।
/*
*/Map map =new HashMap में नाम और आयु फ़ील्ड डालें <स्ट्रिंग, स्ट्रिंग>();map.put("name",,"john");map.put("age",,"23");jedis.hmset("hash-1", map);
फ़ील्ड का मूल्य प्राप्त करें
हैश मान के अंदर मौजूद फ़ील्ड से संबद्ध मान प्राप्त करने के दो तरीके हैं। वे इस प्रकार हैं :-
- hget :- यह हैश मान के अंदर निहित एकल फ़ील्ड से संबद्ध मान लौटाता है।
/*
*/jedis.hget("hash-1", "name");में नाम फ़ील्ड का मान प्राप्त करें; पूर्व> - hmget :- यह हैश मान के अंदर निहित एक या अधिक फ़ील्ड से संबद्ध मान लौटाता है।
/*
*/jedis.hmget("hash-1", "name", में नाम और आयु फ़ील्ड का मान प्राप्त करें। "आयु");
आकार
हलेन एक कुंजी पर संग्रहीत हैश मान में निहित फ़ील्ड की संख्या प्राप्त करने के लिए विधि का उपयोग किया जाता है।
/*में फ़ील्ड की संख्या लौटाता है*/jedis.hlen("hash-1");
हटाएं
एचडीएल विधि का उपयोग कुंजी पर संग्रहीत हैश मान से एक या अधिक फ़ील्ड को हटाने के लिए किया जाता है।
/*से नाम और आयु फ़ील्ड हटाएं*/jedis.hdel("hash-1", "name", "age"); से नाम और आयु फ़ील्ड हटाएं; /* */jedis.hdel("hash-2.getBytes(),"name.getBytes(),"age.getBytes());
क्षेत्र के अस्तित्व की जांच करें
हेक्सिस्ट्स विधि का उपयोग यह जांचने के लिए किया जाता है कि निर्दिष्ट फ़ील्ड हैश का सदस्य है या नहीं।
/* जांचें कि नामका सदस्य है या नहीं */jedis.hexists("hash-1", "name");/* जांचें कि क्या नाम का सदस्य है या नहीं */jedis.hexists("hash-2.getBytes(),"name.getBytes());
सभी प्राप्त करें
एचगेटॉल विधि का उपयोग एक कुंजी पर संग्रहीत हैश मान में निहित सभी फ़ील्ड और उससे जुड़े मानों को प्राप्त करने के लिए किया जाता है।
/**/jedis.hgetAll("hash-1");/* से सभी फ़ील्ड और उसके मान लौटाता है */jedis.hgetAll( से सभी फ़ील्ड और उसके मान लौटाता है "हैश-2"।गेटबाइट्स ());
सभी कुंजियां प्राप्त करें
हकीज कुंजी पर संग्रहीत हैश मान में निहित सभी फ़ील्ड के नाम प्राप्त करने के लिए विधि का उपयोग किया जाता है।
/**/jedis.hkeys("hash-1");/* से सभी फ़ील्ड नाम लौटाता है */jedis.hkeys("hash-2 से सभी फ़ील्ड नाम लौटाता है ".getBytes ());
सभी मान प्राप्त करें
हवल्स एक कुंजी पर संग्रहीत हैश मान में निहित सभी फ़ील्ड के मान प्राप्त करने के लिए विधि का उपयोग किया जाता है।
/**/jedis.hvals("hash-1");/* से सभी मान लौटाता है */jedis.hvals("hash-2" से सभी मान लौटाता है। गेटबाइट्स ());
संदर्भ :-
- हैश कमांड डॉक्स
जेडिस लाइब्रेरी का उपयोग करके हैश वैल्यू पर सीआरयूडी ऑपरेशन कैसे करें, इसके लिए बस इतना ही। अगर आपको यह पसंद आया हो, तो कृपया अपने विचार कमेंट सेक्शन में साझा करें और दूसरों के साथ भी साझा करें।