当前位置: 首页 > news >正文

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

       

目录

代码案例:

运行结果:

代码案例:

运行结果:

代码案例:

运行结果: 


        使用了什么命令在每个单元测试函数中都有提示,下面直接展示。

代码案例:

#include <sw/redis++/redis++.h>
#include <iostream>
#include <vector>
#include <thread>
#include "utils.hpp"void test1(sw::redis::Redis& redis)
{using namespace std::chrono_literals;std::cout << "set NX 和 XX:" << std::endl;redis.set("key1", "111");std::cout << redis.get("key1").value() << std::endl;redis.set("key1", "222", 0s, sw::redis::UpdateType::NOT_EXIST);std::cout << redis.get("key1").value() << std::endl;redis.setnx("key1", "333");std::cout << redis.get("key1").value() << std::endl;redis.setex("key1", 10s, "444");std::cout << redis.get("key1").value() << std::endl;
}void test2(sw::redis::Redis& redis)
{std::cout << "mset:" << std::endl;redis.mset({std::make_pair("key1", "111"), std::make_pair("key2", "222"), std::make_pair("key3", "333")});// std::cout << redis.get("key1").value() << std::endl;// std::cout << redis.get("key2").value() << std::endl;// std::cout << redis.get("key3").value() << std::endl;std::vector<sw::redis::OptionalString> result;auto it = std::back_inserter(result);redis.mget({"key1", "key2", "key3", "key4"}, it);print(result);
}void test3(sw::redis::Redis& redis)
{std::cout << "setrange 和 getrange:" << std::endl;redis.flushall();redis.set("key1", "111222333");redis.setrange("key1", 2, "777");std::cout << redis.get("key1").value() << std::endl;std::cout << redis.getrange("key1", 1, 6) << std::endl;
}void test4(sw::redis::Redis& redis)
{std::cout << "incr 和 decr:" << std::endl;redis.flushall();redis.set("key", "100");std::cout << redis.incr("key") << std::endl;std::cout << redis.get("key").value() << std::endl;std::cout << redis.decr("key") << std::endl;std::cout << redis.get("key").value() << std::endl;
}int main()
{sw::redis::Redis redis("tcp://127.0.0.1:6379");test1(redis);test2(redis);test3(redis);test4(redis);return 0;
}

运行结果:

代码案例:

#include <sw/redis++/redis++.h>
#include <string>
#include <vector>
#include <iostream>
#include "utils.hpp"void test1(sw::redis::Redis& redis)
{std::cout << "lpush 和 lrange" << std::endl;redis.flushall();redis.lpush("key", "111");// redis.lpush("key", {"222", "333", "444", "555"});std::vector<std::string> v = {"222", "444", "666"};redis.lpush("key", v.begin(), v.end());std::vector<std::string> result;auto it = std::back_inserter(result);redis.lrange("key", 0, -1, it);print(result);
}void test2(sw::redis::Redis& redis)
{std::cout << "rpush:" << std::endl;redis.flushall();redis.rpush("key", "111");redis.rpush("key", {"222", "333"});std::vector<std::string> v = {"444", "555"};redis.rpush("key", v.begin(), v.end());std::vector<std::string> result;auto it = std::back_inserter(result);redis.lrange("key", 0, -1, it);print(result);
}void test3(sw::redis::Redis& redis)
{std::cout << "lpop 和 rpop:" << std::endl;redis.flushall();redis.rpush("key", "111");redis.rpush("key", {"222", "333"});std::vector<std::string> v = {"444", "555"};redis.rpush("key", v.begin(), v.end());std::vector<std::string> result;auto it = std::back_inserter(result);redis.lrange("key", 0, -1, it);std::cout << redis.lpop("key").value() << std::endl;std::cout << redis.rpop("key").value() << std::endl;
}void test4(sw::redis::Redis& redis)
{std::cout << "blpop:" << std::endl;redis.flushall();auto it = redis.blpop({"key1", "key2"});if(it){// std::cout << "key:" << it->first << std::endl;// std::cout << "value:" << it->second << std::endl;std::cout << "key:" << it.value().first << std::endl;std::cout << "value:" << it.value().second << std::endl;}else std::cout << "无效值" << std::endl;
}void test5(sw::redis::Redis& redis)
{std::cout << "llen:" << std::endl;redis.flushall();redis.lpush("key", {"111", "222", "333"});std::cout << redis.llen("key") << std::endl;
}int main()
{sw::redis::Redis redis("tcp://127.0.0.1:6379");test1(redis);test2(redis);test3(redis);test4(redis);test5(redis);return 0;
}

运行结果:

代码案例:

#include <sw/redis++/redis++.h>
#include <iostream>
#include <vector>
#include <thread>
#include "utils.hpp"
#include <set>void test1(sw::redis::Redis& redis)
{std::cout << "sadd 和 smembers" << std::endl;redis.flushall();redis.sadd("key", "111");redis.sadd("key", {"333", "666", "222"});std::set<std::string> set1({"555", "444"});redis.sadd("key", set1.begin(), set1.end());std::set<std::string> set2;auto it = std::inserter(set2, set2.end());redis.smembers("key", it);print(set2);
}void test2(sw::redis::Redis& redis)
{std::cout << "sismember:" << std::endl;redis.flushall();redis.sadd("key", {"111", "222", "333"});std::cout << redis.sismember("key", "111") << std::endl;std::cout << redis.sismember("key", "666") << std::endl;std::cout << redis.scard("key") << std::endl;std::cout << redis.spop("key").value() << std::endl;
}int main()
{sw::redis::Redis redis("tcp://127.0.0.1:6379");test1(redis);test2(redis);return 0;
}

运行结果: 

http://www.lryc.cn/news/601441.html

相关文章:

  • 《不只是接口:GraphQL与RESTful的本质差异》
  • Libevent(4)之使用教程(3)配置
  • PHP框架之Laravel框架教程:3. 数据库操作(简要)
  • net8.0一键创建支持(RabbitMQ)
  • 积分兑换小程序Java
  • Torchv Unstrustured 文档解析库
  • Matplotlib(二)- Matplotlib简单绘图
  • 在docker中安装frp实现内网穿透
  • 【数据结构与算法】数据结构初阶:详解排序(二)——交换排序中的快速排序
  • 【51单片机和数码管仿真显示问题共阴共阳代码】2022-9-24
  • 算法竞赛阶段二-数据结构(36)数据结构双向链表模拟实现
  • hackthebox-Pwn-Restaurant(ret2libc)
  • MySQL 8.4 Windows 版安装记录与步骤参考
  • STM32-USART串口实现接收数据三种方法(1.根据\r\n标志符、2.空闲帧中断、3.根据定时器辅助接收)
  • 数据结构第1问:什么是数据结构?
  • 三、构建一个Agent
  • 栈----5.柱状图中最大的矩形
  • RabbitMq 常用命令和REST API
  • 基于分组规则的Excel数据分组优化系统设计与实现
  • 阿里 Qwen3 四模型齐发,字节 Coze 全面开源,GPT-5 8 月初发布!| AI Weekly 7.21-7.27
  • GPT 生成一个打字练习页面
  • maven optional 功能详解
  • 盛最多水的容器-leetcode
  • 时间长了忘记jupyter的环境是哪个了
  • k8s的csi对接GPFS
  • 系统架构设计师-【2025年上半年综合知识题】-真题回忆版分享
  • 动手学深度学习笔记04(上)
  • 物联网发展:从概念到应用的演变历程
  • Sql server开挂的OPENJSON
  • haproxy七层代理(知识点+相关实验部署)