????????
目錄
代碼案例
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單元測試部分,輸出結果: