redis
जेडिस का उपयोग करके जावा में रेडिस से कैसे कनेक्ट करें
खोज…
परिचय
जावा में रेडिस के साथ उपयोग करने के लिए दस से अधिक अलग-अलग क्लाइंट लाइब्रेरी हैं। सबसे लोकप्रिय ग्राहकों में से एक जेडिस है ।
टिप्पणियों
अग्रिम जानकारी:
जेडिस हो रही है
जेडिस लाइब्रेरी को आम तौर पर प्रोजेक्ट के बिल्ड वातावरण में निर्मित एक निर्भरता प्रबंधन प्रणाली का उपयोग करके जावा परियोजना में जोड़ा जाता है। दो लोकप्रिय जावा बिल्ड सिस्टम मावेन और ग्रैडल हैं।
ग्रेडेल का उपयोग करना
जेडिस लाइब्रेरी को ग्रैडल प्रोजेक्ट में जोड़ने के लिए, आपको एक रिपॉजिटरी को कॉन्फ़िगर करने और एक निर्भरता जोड़ने की आवश्यकता होगी। निम्नलिखित स्निपेट दिखाता है कि जेडी लाइब्रेरी के संस्करण 2.9.0 को ग्रैडल प्रोजेक्ट में कैसे जोड़ा जाए।
repositories {
mavenCentral()
}
dependencies {
compile 'redis.clients:jedis:2.9.0'
}
मावेन का उपयोग करना
जैडिस को मावेन परियोजना में जोड़ने के लिए, आपको अपनी निर्भरता सूची में एक निर्भरता जोड़ने और पुस्तकालय के निर्देशांक प्रदान करने की आवश्यकता है। निम्नलिखित स्निपेट को आपकी pom.xml फ़ाइल में जोड़ा जाएगा:
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
रेडिस से जुड़ रहा है
पूल का उपयोग करना
अधिकांश कोड साझा कनेक्शन ऑब्जेक्ट्स के पूल का उपयोग करके रेडिस से कनेक्ट करना चाहते हैं। एक पूल का उपयोग करके Redis से कनेक्ट करने में दो अलग-अलग कोड ब्लॉक शामिल हैं। आरंभिक समय में, आपके एप्लिकेशन को कनेक्शन पूल बनाने की आवश्यकता होती है:
JedisPoolConfig poolCfg = new JedisPoolConfig();
poolCfg.setMaxTotal(3);
pool = new JedisPool(poolCfg, hostname, port, 500, password, false);
JedisPoolConfig
पूल ट्यूनिंग के लिए विकल्प प्रदान करता है।
आपकी एप्लिकेशन प्रक्रियाओं के रूप में यह कार्यभार है, आपको निम्नलिखित कोड का उपयोग करके साझा पूल से एक कनेक्शन प्राप्त करना होगा:
try (Jedis jedis = pool.getResource()) {
...
}
सबसे अच्छा अभ्यास एक कोशिश-संसाधन ब्लॉक के भीतर पूल से Jedis
कनेक्शन वस्तु प्राप्त करना है।
पूल के बिना
कुछ मामलों में, जैसे कि एक साधारण आवेदन या एक एकीकरण परीक्षण, आप साझा पूल से निपटना नहीं चाहते हैं और इसके बजाय सीधे Jedis
कनेक्शन ऑब्जेक्ट बना सकते हैं। यह निम्नलिखित कोड के साथ पूरा किया जा सकता है:
try (Jedis jedis = new Jedis(hostname, port)) {
jedis.connect();
jedis.auth(password);
jedis.select(db);
. . .
}
फिर से, सबसे अच्छा अभ्यास एक कोशिश के साथ संसाधन ब्लॉक के भीतर जेडिस क्लाइंट ऑब्जेक्ट बनाने के लिए है।
बेसिक गेटिंग / सेट कमांड प्राप्त करना
एक बार जब आप Jedis
लिए एक कनेक्शन स्थापित कर लेते हैं तो आप Jedis
कनेक्शन ऑब्जेक्ट का उपयोग करके मान प्राप्त कर सकते हैं और सेट कर सकते हैं:
प्राप्त
String value = jedis.get(myKey);
सेट
jedis.put(myKey, "some value");
निष्पादित कमांड
जेडिस का उपयोग करके एक रेडिस कमांड को निष्पादित करने के लिए, आप पूल से बनाए गए Jedis
ऑब्जेक्ट के खिलाफ विधि कॉल करते हैं। जेडीस ने विधि कॉल के रूप में रेडिस कमांड को उजागर किया, कुछ उदाहरण हैं:
- String get(String key)
- Long geoadd(String key, double longitude, double latitude, String member)
- List<String> hmget(String key, String... fields)
- Long hsetnx(String key, String field, String value)
यदि आप Redis में एक स्ट्रिंग कुंजी का मान सेट करना चाहते थे, तो आप एक कोड ब्लॉक का उपयोग करेंगे:
try (Jedis jedis = pool.getResource()) {
String myKey = "users:20";
String myValue = "active";
jedis.set(myKey, myValue);
}