【Redis】C++如何使用redis

发布于:2025-05-09 ⋅ 阅读:(15) ⋅ 点赞:(0)


在这里插入图片描述

1. redis客户端

在前面的学习种,我们都是使用redis命令行客户端手动执行操作的;但是更多的时候,需要使用redis的api,来实现定制化的redis客户端程序,进一步操作redis服务器(即用程序操作redis)。

在这里插入图片描述
我们知道redis是使用网络通信来实现的,那么有网络通信就一定要有协议;redis有自己的应用层协议:RESP
在这里插入图片描述
RESP是基于TCP的,请求和应答是一问一答式的
在这里插入图片描述

下面是协议的类型:

在这里插入图片描述
redis客户端、服务器就是按照上述格式,构造字符串,向socke中写入;从socket中读取字符串,按照上述格式解析。

在我们使用协议的时候,不需要再按照上述格式,构造、解析字符串了;因为已经有大佬们写好了,我们只需要使用人家写的库就可以了。

库有很多,我们使用redis-plus-plus:https://github.com/sewenew/redis-plus-plus

Ubuntu系统下:

  1. 安装hiredis: redis-plus-plus 是基于hiredis 实现的

 apt install libhiredis-dev
  1. 安装redis-plus-plus
 git clone https://github.com/sewenew/redis-plus-plus.git

在这里插入图片描述
测试环境
在这里插入图片描述

在这里插入图片描述

2. 使用通用命令

  1. get / set

在这里插入图片描述

  1. exists、del

在这里插入图片描述

  1. keys

在这里插入图片描述

  1. expire、ttl

在这里插入图片描述

  1. type

在这里插入图片描述

3. 使用string命令

  1. get、set、过期时间

在这里插入图片描述
2. nx、ex

在这里插入图片描述

  1. mset、mget

在这里插入图片描述

  1. getrange、setrange

在这里插入图片描述

  1. incr、decr

在这里插入图片描述

3. 使用list命令

  1. lpush、rpush、lrange

在这里插入图片描述

  1. rpop、lpop、brpop、blpop、llen

在这里插入图片描述

blpop与brpop的返回值:OptionalStringPair,里面是包裹了一个pair,pair里面是string;

  • pair.first:元素属于哪个list
  • pair.second:当前pop的元素

在这里插入图片描述

我们可以发现,redis-plus-plus这个库的风格还是非常统一的。

  • 当一个函数,参数需要传递多个值的时候,往往都是支持 初始化列表 或者是一对迭代器 的方式来进行实现的
  • 当一个函数返回值需要表示多个数据的时候,也往往会借助插入迭代器,来实现往一个容器中添加元素的效果
  • 当某些场景涉及到无效值的时候,往往会搭配 std:optional 来进行使用

4. 使用set命令

  1. sadd、smembers、sismember

在这里插入图片描述

  1. scard、spop

在这里插入图片描述

  1. sinter、sinterstore、sunionstore

在这里插入图片描述

5. 使用hash命令

  1. hset、hget、hexists、hdel

在这里插入图片描述

  1. hkeys、hvals

在这里插入图片描述

  1. hmset、hmget

在这里插入图片描述

6. 使用zset命令

  1. zadd、zrange

在这里插入图片描述

  1. zcard、zrem

在这里插入图片描述

  1. zscore、zrank

在这里插入图片描述
在这里插入图片描述


网站公告

今日签到

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