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();
बनाएं और जोड़ें
Jedis लाइब्रेरी लिस्ट मान में एलिमेंट्स बनाने और इन्सर्ट करने के लिए कई मेथड्स प्रदान करती है। कुछ महत्वपूर्ण मेथड्स निम्न हैं:
- lpush: यह लिस्ट मान के हेड पर एक या अधिक एलिमेंट्स इन्सर्ट करता है। यदि लिस्ट मान मौजूद नहीं है, तो यह इंसर्शन ऑपरेशन करने से पहले खाली लिस्ट मान रखने वाली एक की पहले बनाता है।
/* एक नई लिस्ट बनाना और स्ट्रिंग मान a, b, c को हेड पर इन्सर्ट करना */ jedis.lpush("list-1", "a", "b", "c"); /* एक नई लिस्ट बनाना और स्ट्रिंग मान 1, 2 के बाइट ऐरे को हेड पर इन्सर्ट करना */ jedis.lpush("list-2".getBytes(),new BigInteger("1").toByteArray(),new BigInteger("2").toByteArray()); - rpush: यह लिस्ट मान के टेल पर एक या अधिक एलिमेंट्स इन्सर्ट करता है। यदि लिस्ट मान मौजूद नहीं है, तो यह इंसर्शन ऑपरेशन करने से पहले खाली लिस्ट मान रखने वाली एक की पहले बनाता है।
/* एक नई लिस्ट बनाना और स्ट्रिंग मान a, b, c को टेल पर इन्सर्ट करना */ jedis.rpush("list-3", "a", "b", "c"); /* एक नई लिस्ट बनाना और स्ट्रिंग मान 1, 2 के बाइट ऐरे को टेल पर इन्सर्ट करना */ jedis.rpush("list-4".getBytes(),new BigInteger("1").toByteArray(),new BigInteger("2").toByteArray()); - lpushx: यह लिस्ट मान के हेड पर एक या अधिक एलिमेंट्स केवल तभी इन्सर्ट करता है जब लिस्ट मान पहले से मौजूद हो।
/* <list-1> के हेड पर स्ट्रिंग मान d, e इन्सर्ट करना */ jedis.lpushx("list-1", "d", "e"); /* <list-2> के हेड पर स्ट्रिंग मान 3, 4 इन्सर्ट करना */ jedis.lpushx("list-2".getBytes(),new BigInteger("3").toByteArray(),new BigInteger("4").toByteArray()); - rpushx: यह लिस्ट मान के टेल पर एक या अधिक एलिमेंट्स केवल तभी इन्सर्ट करता है जब लिस्ट मान पहले से मौजूद हो।
/* <list-3> के टेल पर स्ट्रिंग मान d, e इन्सर्ट करना */ jedis.rpush("list-3", "d", "e"); /* <list-4> के टेल पर स्ट्रिंग मान 3, 4 इन्सर्ट करना */ jedis.rpush("list-4".getBytes(),new BigInteger("3").toByteArray(),new BigInteger("4").toByteArray());
हटाएं और लौटाएं
लिस्ट मान पर स्टैक-जैसे पॉप ऑपरेशन करने के दो तरीके हैं। वे निम्न हैं:
- lpop: यह लिस्ट मान का पहला एलिमेंट हटाकर लौटाता है।
/* <list-1> के हेड से सिंगल एलिमेंट हटाकर लौटाता है */ jedis.lpop("list-1"); /* <list-2> के हेड से सिंगल एलिमेंट हटाकर लौटाता है */ jedis.lpop("list-2".getBytes()); - rpop: यह लिस्ट मान का अंतिम एलिमेंट हटाकर लौटाता है।
/* <list-3> के टेल से सिंगल एलिमेंट हटाकर लौटाता है */ jedis.rpop("list-3"); /* <list-4> के टेल से सिंगल एलिमेंट हटाकर लौटाता है */ jedis.rpop("list-4".getBytes());
लंबाई
llen मेथड का उपयोग की पर संग्रहीत लिस्ट मान की लंबाई प्राप्त करने के लिए किया जाता है। कोड उदाहरण:
/* <list-1> का आकार लौटाता है */ jedis.llen("list-1");
/* <list-2> का आकार लौटाता है */ jedis.llen("list-2".getBytes());
हटाएं
lrem मेथड का उपयोग लिस्ट मान से एक एलिमेंट की सभी ऑकरेंसेज को हटाने के लिए किया जाता है।
/* <list-1> से एलिमेंट a की एक ऑकरेंस हटाएं */ jedis.lrem("list-1", 1, "a");
/* <list-2> से एलिमेंट 1 की दो ऑकरेंसेज हटाएं */ jedis.lrem("list-2".getBytes(), 2, "1".getBytes());
इंडेक्स द्वारा प्राप्त करें
lindex मेथड का उपयोग इसके इंडेक्स आर्गुमेंट द्वारा एक एलिमेंट प्राप्त करने के लिए किया जाता है।
/* <list-1> से इंडेक्स 3 पर एलिमेंट प्राप्त करें */ jedis.lindex("list-1", 3);
/* <list-2> से इंडेक्स 2 पर एलिमेंट प्राप्त करें */ jedis.lindex("list-2".getBytes(), 2);
इंडेक्स द्वारा अपडेट करें
lset मेथड का उपयोग इसके इंडेक्स आर्गुमेंट द्वारा एक एलिमेंट अपडेट करने के लिए किया जाता है।
/* <list-1> से इंडेक्स 3 पर एलिमेंट g सेट करें */ jedis.lset("list-1", 3, "g");
/* <list-2> से इंडेक्स 2 पर एलिमेंट 6 सेट करें */ jedis.lset("list-2".getBytes(), 2, "6".getBytes());
एकाधिक एलिमेंट्स प्राप्त करें
lrange मेथड का उपयोग लिस्ट मान से एक या अधिक एलिमेंट्स प्राप्त करने के लिए किया जाता है, जो ऑफसेट्स आर्गुमेंट द्वारा परिभाषित होते हैं।
/* <list-1> से इंडेक्स 1 से 5 तक एलिमेंट्स लौटाता है */ jedis.lrange("list-1", 1, 5);
/* <list-2> से सभी एलिमेंट्स लौटाता है */ jedis.lrange("list-2".getBytes(), 0, -1);
संदर्भ:
- लिस्ट कमांड डॉक्स
Jedis लाइब्रेरी का उपयोग करके लिस्ट मान पर CRUD ऑपरेशन करने के बारे में बस इतना ही। अगर आपको यह पसंद आया, तो कृपया कमेंट सेक्शन में अपने विचार साझा करें और इसे दूसरों के साथ भी साझा करें।