redis sadd spop 数据集
redis 可以实现队列 栈
redis 可以实现 发布 订阅
介绍返回状态
https://www.jianshu.com/p/466c76a60324
错误
如果一个函数调用不成功,不同函数会返回 NULL 或 REDIS_ERR。 redisContext 中的 err 字段会被设置为以下的非零值:
-
REDIS_ERR_IO:
创建连接、通过socket读写数据时产生了错误。如果包括了errno.h头文件,可以使用errno检查出了什么错。 -
REDIS_ERR_EOF:
服务器关闭了连接导致的空读。 -
REDIS_ERR_PROTOCOL:
解析协议出错。 -
REDIS_ERR_OTHER:
任意其他错误。目前仅用于要连接的指定主机无法被解析的情况下。
每一种情况下, errstr 字段都会被设置为相应的文字说明。
redisReply
redisReply 是 redisCommand 返回值的实际类型。redisCommand 发生错误时返回 NULL,并设置 redisContext 错误。
一旦发生错误,这个 redisContext 就不能继续使用,必须建立新的连接。
可以通过 redisReply 的 type 字段来判断返回类型:
-
REDIS_REPLY_STATUS:- 命令返回的是状态。可以用
reply->str和reply->len获得描述字符串及其长度。
- 命令返回的是状态。可以用
-
REDIS_REPLY_ERROR:- 命令执行错误,错误字符串获取方法与
REDIS_REPLY_STATUS一样。
- 命令执行错误,错误字符串获取方法与
-
REDIS_REPLY_INTEGER:- 命令返回的是整数, 返回值是
long long类型,通过reply->integer获取。
- 命令返回的是整数, 返回值是
-
REDIS_REPLY_NIL:- 命令返回的是 nil 对象,没有数据可取。
-
REDIS_REPLY_STRING:- 命令返回字符串,可以通过
reply->str和reply->len获得字符串及其长度。
- 命令返回字符串,可以通过
-
REDIS_REPLY_ARRAY:- 命令返回数组,元素个数存储在
reply->elements中。 每个元素都是一个redisReply, 并可以通过reply->element[..index..]的方法获取。
- 命令返回数组,元素个数存储在
reply应该用 freeReplyObject 释放,数组和内嵌数组不需要被单独释放。
redis使用c++ API 的hiredis连接详解
http://www.360doc.com/content/19/0401/09/33093582_825645368.shtml
https://redislabs.com/lp/hiredis/
Hiredis 实现 Redis 流水线
https://www.codercto.com/a/4503.html
xRedis 是一个C++开发的redis客户端,是对hiredis的C++封装,提供易用的redis命令操作接口.
https://gitee.com/0xsky/xredis

本文介绍了Redis如何利用数据结构实现队列、栈等功能,并详细解释了Redis在处理错误时的状态返回及错误类型。此外还提供了Redis命令操作的C++客户端xRedis的简介。
137

被折叠的 条评论
为什么被折叠?



