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)
相关推荐
java1234_小锋27 分钟前
Redis是单线程还是多线程?
java·数据库·redis
雾里看山34 分钟前
C语言之结构体
c语言·开发语言·笔记
重生之我在20年代敲代码1 小时前
【C++入门】详解(中)
开发语言·c++·笔记
Xudde.2 小时前
Wireshark抓包教程(2024最新版个人笔记)
笔记·wireshark
Archippus3 小时前
线段树维护最大子段和及其类似问题
笔记·oi
青い月の魔女3 小时前
数据结构初阶---排序
开发语言·数据结构·笔记·学习·算法·排序算法
MUTA️3 小时前
RT-DETR代码详解(官方pytorch版)——参数配置(1)
人工智能·pytorch·笔记·深度学习·机器学习·计算机视觉
炸毛的飞鼠6 小时前
春秋云镜——initial
笔记·学习
相思半6 小时前
Web前端开发入门学习笔记之CSS 57-58--新手超级友好版- 盒子模型以及边框线应用篇
前端·css·笔记·学习·职场和发展
java1234_小锋7 小时前
Redis有哪些常用应用场景?
java·数据库·redis