当前位置: 首页 > 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.dtcms.com/a/301414.html

相关文章:

  • 实战演练1:实战演练之命名实体识别
  • Docker 的数据持久化-数据卷
  • (AC)架子鼓
  • 基于Java的KTV点歌系统的设计与实现
  • 【CF】Day112——杂题 (逆向思维 | 二分 + 贪心 | 单调队列优化DP | 二进制 + 前缀和 | 二分图判断 | 暴力枚举)
  • JavaEE--3.多线程
  • python-装饰器
  • 【ST表、倍增】P7167 [eJOI 2020] Fountain (Day1)
  • QT6 源,七章对话框与多窗体(15)多文档 MDI 窗体 QMdiArea 篇一:属性,公共成员函数,信号与槽函数
  • 多智能体架构
  • 《计算机组成原理与汇编语言程序设计》实验报告四 Debug及指令测试
  • setnonblocking函数用途和使用案例
  • 在本地环境中运行 ‘dom-distiller‘ GitHub 库的完整指南
  • OSPF路由协议 多区域
  • 【ESP32】无法找到: “${env:IDF_PATH}/components/“的路径报错问题以及CMAKE构建不成功问题
  • Cursor报错解决【持续更新中】
  • 金融科技中的远程开户、海外个人客户在线开户、企业客户远程开户
  • 深入解析Java运行机制与JVM内存模型
  • 【Web APIs】JavaScript 节点操作 ⑩ ( 节点操作综合案例 - 动态生成表格案例 )
  • windows 11 JDK11安装
  • LeetCode 239:滑动窗口最大值
  • 五自由度磁悬浮轴承转子不平衡振动抑制破局:不平衡前馈补偿+自抗扰控制实战解析
  • MySQL 全详解:从入门到精通的实战指南
  • 第二阶段-第二章—8天Python从入门到精通【itheima】-138节(MySQL的综合案例)
  • 设备分配与回收
  • 数据处理实战(含代码)
  • OpenFeign-远程调用((Feign的使用方法))
  • Spring Boot 配置文件常用配置属性详解(application.properties / application.yml)
  • 【PCIe 总线及设备入门学习专栏 5.3.4 -- PCIe PHY Firmware 固件加载流程】
  • 如何思考一个动态规划问题需要几个状态?