C++使用redis的实现步骤
目录
- 1. Redis客户端
- 2. 使用通用命令
- 3. 使用string命令
- 4. 使用list命令
- 5. 使用set命令
- 6. 使用hash命令
- 7. 使用zset命令
1. redis客户端
在前面的学习种,我们都是使用redis命令行客户端手动执行操作的;但是更多的时候,需要使用redis的api,来实现定制化的redis客户端程序,进一步操作redis服务器(即用程序操作redis编程客栈)。
我们知道redis是使用网络通信来实现的,那么有网络通信就一定要有协议;redis有自己的应用层协议:RESP
RESP是基于TCP的,请求和应答是一问一答式的
下面是协议的类型:
redis客户端、服务器就是按照上述格式,构造字符串,向socke中写入;从socket中读取字符串,按照上述格式解析。
在我们使用协议的时候,不需要再按照上述格式,构造、解析字符串了;因为已经有大佬们写好了,我们只需要使用人家写的库就可以了。
库有很多,我们android使用redis-plus-plus
:https://github.com/sewenew/redis-plus-plus
Ubuntu系统下:
- 安装hiredis: redis-plus-plus 是基于hiredis 实现的
apt install libhiredis-dev
- 安装redis-plus-plus
git clone https编程客栈://github.编程客栈com/sewenew/redis-plus-plus.git
测试环境
2. 使用通用命令
get / set
exists、del
keys
expire、ttl
type
3. 使用string命令
get、set、过期时间
nx、ex
mset、mget
getrange、setrange
incr、decr
4. 使用list命令
lpush、rpush、lrange
rpop、lpop、brpop、blpop、llen
blpop与brpop的返回值:OptionalStringPair
,里面是包裹了一个pair,pair里面是string;
- pair.first:元素属于哪个list
- pair.second:当前pop的元素
我们可以发现,redis-plus-plus这个库的风格还是非常统一的。
- 当一个函数,参数需要传递多个值的时候,往往都是支持 初始化列表 或者是一对迭代器 的方式来进行实现的
- 当一个函数返回值需要表示多个数据的时候,也往往会借助插入迭代器,来实现往一个容器中添加元素的效果
- 当某些场景涉及到无效值的时候,往往会android搭配 std:optional 来进行使用
5. 使用set命令
- sadd、smembers、sismember
scard、spop
sinter、sinterstore、sunionstore
6. 使用hash命令
hset、hget、hexists、hdel
hkeys、hvals
hmset、hmget
7. 使用zset命令
zadd、zrange
zcard、zrem
zscore、zrank
到此这篇关于C++使用redis的实现步骤的文章就介绍到这了,更多相关C++使用redis内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论