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)
相关推荐
要做朋鱼燕22 分钟前
【AES加密专题】3.工具函数的编写(1)
笔记·密码学·嵌入式·aes
嵌入式知行合一1 小时前
时间管理方法论
笔记
儒雅的晴天1 小时前
git笔记
笔记·git
半夏知半秋1 小时前
kcp学习-通用的kcp lua绑定
服务器·开发语言·笔记·后端·学习
中屹指纹浏览器2 小时前
指纹浏览器底层沙箱隔离技术实现原理与架构优化
经验分享·笔记
alonewolf_993 小时前
Redis 7.X 部署指南:单机、主从、哨兵、集群
redis·分布式架构
小裕哥略帅4 小时前
PMP知识--五大过程组
笔记·学习
Aliex_git4 小时前
提示词工程学习笔记
人工智能·笔记·学习
0和1的舞者4 小时前
力扣hot100-链表专题-刷题笔记(二)
笔记·算法·leetcode·链表·职场和发展
航Hang*4 小时前
Photoshop 图形与图像处理技术——第9章:实践训练6——滤镜特效
图像处理·笔记·学习·ui·photoshop