hiredis笔记

同步调用

连接

cpp 复制代码
redisContext* redisConnect(constchar*ip,intport);

发送命令并且获取响应

cpp 复制代码
void *redisCommand(redisContext *c, const char *format, ...);
void *redisvCommand(redisContext *c, const char *format, va_list ap);
void *redisCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen);

返回的结果结构体为

cpp 复制代码
typedef struct redisReply {
    int type; /* REDIS_REPLY_* */
    long long integer; /* The integer when type is REDIS_REPLY_INTEGER */
    int len; /* Length of string */
    char *str; /* Used for both REDIS_REPLY_ERROR and REDIS_REPLY_STRING */
    size_t elements; /* number of elements, for REDIS_REPLY_ARRAY */
    struct redisReply **element; /* elements vector for REDIS_REPLY_ARRAY */
} redisRepl

type支持的值有

  • REDIS_REPLY_STRING
  • REDIS_REPLY_ARRAY
  • REDIS_REPLY_INTEGER
  • REDIS_REPLY_NIL
  • REDIS_REPLY_STATUS
  • REDIS_REPLY_ERROR

阻塞模式下的管道命令

将命令写入输出缓冲区,也是在阻塞模式下的命令管道

cpp 复制代码
int redisvAppendCommand(redisContext *c, const char *format, va_list ap);
int redisAppendCommand(redisContext *c, const char *format, ...);
int redisAppendCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen);

获取响应

cpp 复制代码
int redisGetReply(redisContext *c, void **reply);
int redisGetReplyFromReader(redisContext *c, void **reply);

释放响应对象

cpp 复制代码
void freeReplyObject(void *reply)
相关推荐
看见繁华5 小时前
Linux 交叉编译实践笔记
linux·运维·笔记
QQ_4376643145 小时前
redis相关命令讲解及原理
数据库·redis·缓存
im_AMBER6 小时前
Leetcode 99 删除排序链表中的重复元素 | 合并两个链表
数据结构·笔记·学习·算法·leetcode·链表
创作者mateo6 小时前
PyTorch 入门笔记配套【完整练习代码】
人工智能·pytorch·笔记
米汤爱学习6 小时前
stable-diffusion-webui【笔记】
笔记·stable diffusion
创作者mateo7 小时前
PyTorch 入门学习笔记(基础篇)一
pytorch·笔记·学习
yuankunliu7 小时前
【redis】1、Redis的安装部署
数据库·redis·缓存
hkNaruto7 小时前
【AI】AI学习笔记:关于嵌入模型的切片大小,实际的业务系统中如何选择
人工智能·笔记·学习
我的golang之路果然有问题7 小时前
积累的 java 找工作资源
java·笔记
hkNaruto7 小时前
【AI】AI学习笔记:OpenAI Tools完全指南:从原理到实战入门
人工智能·笔记·学习