Redis C++ क्लाइंट: कनेक्शन, इंस्टॉलेशन और उपयोग उदाहरण

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Redis C++ क्लाइंट: संपूर्ण गाइड और व्यावहारिक उदाहरण

Redis एक हाई-परफॉर्मेंस इन-मेमोरी डेटाबेस है, जिसका उपयोग कैशिंग, सेशन मैनेजमेंट, मैसेज क्यू और रियल-टाइम एनालिटिक्स के लिए किया जाता है। C++ में Redis से जुड़ने के लिए कई पुख्ता लाइब्रेरी उपलब्ध हैं। इस लेख में हम दो सबसे लोकप्रिय लाइब्रेरी देखेंगे: hiredis (आधिकारिक C क्लाइंट, जिसे C++ में आसानी से इस्तेमाल किया जा सकता है) और Redis++ (आधुनिक C++17 क्लाइंट जिसमें आसान सिंटैक्स है)। आप सीखेंगे कि इन टूल्स को कैसे इंस्टॉल करें, कनेक्ट करें और अपने प्रोजेक्ट में उपयोग करें।

1. hiredis लाइब्रेरी

hiredis एक मिनिमलिस्टिक C क्लाइंट है, जिसे Redis की टीम ने ही डेवलप किया है। यह हल्का, तेज़ है और सिंक्रोनस व एसिंक्रोनस रिक्वेस्ट को सपोर्ट करता है। C++ प्रोग्रामर्स के लिए hiredis एक बेहतरीन बेस है, क्योंकि इसे C++ कोड से सीधे कॉल किया जा सकता है और RAII ऑब्जेक्ट में लपेटा जा सकता है।

hiredis इंस्टॉलेशन

hiredis को पैकेज मैनेजर या सोर्स कोड से इंस्टॉल किया जा सकता है:

# Ubuntu/Debian
sudo apt-get install libhiredis-dev

# macOS (Homebrew)
brew install hiredis

# सोर्स कोड से इंस्टॉल
git clone https://github.com/redis/hiredis.git
cd hiredis
make
sudo make install

कनेक्शन और बेसिक उदाहरण

hiredis के साथ काम करने के लिए हेडर फाइल को शामिल करें और लाइब्रेरी से लिंक करें। नीचे Redis से कनेक्ट करने और बुनियादी कमांड चलाने का उदाहरण दिया गया है:

#include <iostream>
#include <hiredis/hiredis.h>

int main() {
    // localhost:6379 पर Redis से कनेक्ट करें
    redisContext *c = redisConnect("127.0.0.1", 6379);
    if (c == nullptr || c->err) {
        std::cerr << "कनेक्शन में त्रुटि: " << c->errstr << std::endl;
        return 1;
    }

    // SET कमांड भेजें
    redisReply *reply = (redisReply*)redisCommand(c, "SET key1 Hello");
    if (reply->type == REDIS_REPLY_STATUS) {
        std::cout << "SET: " << reply->str << std::endl;
    }
    freeReplyObject(reply);

    // GET कमांड भेजें
    reply = (redisReply*)redisCommand(c, "GET key1");
    if (reply->type == REDIS_REPLY_STRING) {
        std::cout << "GET: " << reply->str << std::endl;
    }
    freeReplyObject(reply);

    // संसाधन मुक्त करें
    redisFree(c);
    return 0;
}

कंपाइल करने के लिए -lhiredis फ्लैग का उपयोग करें:

g++ -o test test.cpp -lhiredis

2. Redis++ लाइब्रेरी (sw/redis++ / redox)

Redis++ (जिसे sw/redis++ के नाम से भी जाना जाता है) एक आधुनिक C++17 क्लाइंट है, जो टाइप-सेफ इंटरफेस, कनेक्शन पूल, ट्रांजेक्शन, पाइपलाइन और Redis Cluster को सपोर्ट करता है। अगर आप C-स्टाइल के बजाय "शुद्ध" C++ में कोड लिखना पसंद करते हैं, तो Redis++ आपके लिए सबसे अच्छा विकल्प है।

Redis++ इंस्टॉलेशन

इसे vcpkg, Conan या सोर्स कोड से इंस्टॉल किया जा सकता है:

# vcpkg के माध्यम से
vcpkg install redis-plus-plus

# Conan के माध्यम से
conan install redis++/1.3.3@

# सोर्स कोड से इंस्टॉल
git clone https://github.com/sewenew/redis-plus-plus.git
cd redis-plus-plus
mkdir build && cd build
cmake ..
make
sudo make install

Redis++ उपयोग का उदाहरण

यह लाइब्रेरी कमांड चलाने के लिए Redis ऑब्जेक्ट का उपयोग करती है:

#include <iostream>
#include <sw/redis++/redis++.h>

int main() {
    try {
        // क्लाइंट बनाएं
        sw::redis::Redis redis("tcp://127.0.0.1:6379");

        // वैल्यू सेट करें
        redis.set("mykey", "Hello, Redis++!");

        // वैल्यू प्राप्त करें
        auto val = redis.get("mykey");
        if (val) {
            std::cout << "GET: " << *val << std::endl;
        }

        // हैश के साथ काम करें
        redis.hset("user:1", "name", "Alice");
        redis.hset("user:1", "age", "30");
        auto name = redis.hget("user:1", "name");
        std::cout << "यूज़र का नाम: " << *name << std::endl;

    } catch (const sw::redis::Error &e) {
        std::cerr << "Redis त्रुटि: " << e.what() << std::endl;
        return 1;
    }
    return 0;
}

अनुशंसाएँ