Redis C++客户端——通用命令

发布于:2025-07-28 ⋅ 阅读:(19) ⋅ 点赞:(0)

        

目录

代码案例

get和set部分

exists部分 

del部分 

keys部分

expire部分 

type部分 


        本篇文章主要是通过redis-plus-plus库使用通用命令。

代码案例

        下面用一个代码演示:

#include <sw/redis++/redis++.h>
#include <iostream>
#include <vector>
#include <thread>
#include "utils.hpp"

void test1(sw::redis::Redis& redis)
{
    std::cout << "get 和 set 的使用:" << std::endl;
    redis.flushall();
    redis.set("key1", "111");
    redis.set("key2", "222");
    redis.set("key3", "333");

    auto str1 = redis.get("key1");
    if(str1) std::cout << "key1:" << str1.value() << std::endl;
    auto str2 = redis.get("key2");
    if(str2) std::cout << "key2:" << str2.value() << std::endl;
    auto str3 = redis.get("key3");
    if(str3) std::cout << "key3:" << str3.value() << std::endl;
    auto str4 = redis.get("key4");
    if(str4) std::cout << "key4:" << str4.value() << std::endl;
}

void test2(sw::redis::Redis& redis)
{
    std::cout << "exists 的使用:" << std::endl;
    redis.flushall();
    redis.set("key1", "111");
    redis.set("key2", "222");

    auto num = redis.exists({"key1", "key2", "key3"});
    std::cout << num << std::endl;
}

void test3(sw::redis::Redis& redis)
{
    std::cout << "del 的使用:" << std::endl;
    redis.flushall();
    redis.set("key1", "111");
    redis.set("key2", "222");

    std::cout << redis.exists({"key1", "key2"}) << std::endl;

    redis.del({"key1"});
    std::cout << redis.exists({"key1", "key2"}) << std::endl;
}

void test4(sw::redis::Redis& redis)
{
    std::cout << "keys 的使用:" << std::endl;
    redis.flushall();
    redis.set("key1", "111");
    redis.set("key2", "222");
    redis.set("key3", "333");
    redis.set("key4", "444");
    redis.set("key5", "555");

    std::vector<std::string> v;
    auto it = std::back_insert_iterator(v);
    redis.keys("*", it);
    print(v);
}

void test5(sw::redis::Redis& redis)
{
    using namespace std::chrono_literals;
    std::cout << "expire 的使用:" << std::endl;
    redis.flushall();
    // redis.set("key", "111", std::chrono::seconds(10));
    redis.set("key", "111", 10s);


    std::this_thread::sleep_for(3s);
    std::cout << redis.ttl("key") << std::endl;
}

void test6(sw::redis::Redis& redis)
{
    std::cout << "type 的使用:" << std::endl;
    redis.flushall();
    redis.set("key1", "111");
    std::cout << redis.type("key1") << std::endl;

    redis.lpush("key2", "111");
    std::cout << redis.type("key2") << std::endl;

    redis.hset("key3", "key", "111");
    std::cout << redis.type("key3") << std::endl;

    redis.sadd("key4", "11111");
    std::cout << redis.type("key4") << std::endl;

    redis.zadd("key5", "吕布", 99);
    std::cout << redis.type("key5") << std::endl;
}

int main()
{
    sw::redis::Redis redis("tcp://127.0.0.1:6379");
    // test1(redis);
    // test2(redis);
    // test3(redis);
    // test4(redis);
    // test5(redis);
    test6(redis);
    return 0;
}

get和set部分

        代码中的test1单元测试部分,输出结果:

exists部分 

del部分 

keys部分

expire部分 

type部分 


网站公告

今日签到

点亮在社区的每一天
去签到